-
Notifications
You must be signed in to change notification settings - Fork 140
Document release process for Crossplane extensions. #913
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document release process for Crossplane extensions. #913
Conversation
✅ Deploy Preview for crossplane ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
69668fc
to
5e5345b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great start @jastang, thank you for stepping up to take on a long annoying gap in the community's knowledge base! 🙇♂️
I think we're still missing some high level and general information for folks that aren't ready to see the details of pipeline steps. Could you consider adding two IMO important focus areas to this guide?
- A high level general outline of what an extension release is, how the parts all fit together
- A practical set of steps that they follow to release their extension. This will probably be THE most useful and popular section of this guide. People would hopefully be able to come to this list and mostly follow it without thinking too much 😉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for updating this guide @jastang! I think we have a lot of what we need here, maybe just a few small things to tie together the quick starts with the general guidance more strongly.
There may not be much this guide can do about the ecosystem fracturing we've caused, but let's see if there's anything we can do to improve on that, e.g. give folks concrete guidance to follow a single path instead of being confused about the options they have.
``` | ||
|
||
3. Commit the workflow file to the default branch of the GitHub repository. | ||
4. The workflow should now be available to trigger via the GitHub UI in the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
something that still feels missing is the choices/actions around the release itself. do you feel like those are in scope here too? e.g. creating a release branch and/or tagging the release version.
or perhaps it could be as simple as adding here ...when you are ready to publish a release of your provider
😇
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
beyond that though, I'm still personally struggling with the inconsistency we have introduced over time into the provider ecosystem. e.g. the ci.yaml for upjet-provider-template publishes on every CI run: https://github.com/crossplane/upjet-provider-template/blob/main/.github/workflows/ci.yml#L320-L322. It's sort of odd that we now have a separate workflow that is manually triggered, instead of just letting ci.yml publishing do the publishing itself.
This first came up in crossplane/org#88, we've sort of fractured the ecosystem into different paths that folks have to figure out themselves. is there much we can do in these docs to help people understand a single easy path to take? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fractured the ecosystem into different paths
completely agree here -- this became obvious as I was writing these docs. my understanding is that the reusable workflows are meant to be the desired "golden path" that requires fewer changes to Makefiles and other subtle configuration (cc @jeanduplessis @sergenyalcin to keep me honest here). I'm highlighting that path in these docs, but a follow-up would be to update the provider templates to include the reusable workflow and deprecate the publishing portion from ci.yml
.
Signed-off-by: Jason Tang <[email protected]>
…elease branches. Signed-off-by: Jason Tang <[email protected]>
990a6f0
to
f6bafbd
Compare
Signed-off-by: Jason Tang <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i like where we are ending up here @jastang - this is pretty much ready to go but a couple minor suggestions and a question about version inferring for you to consider - let me know when you feel good here and we can go ahead and merge! 🎉
Signed-off-by: Jason Tang <[email protected]>
Adds a new Guide detailing the conventional release process with GitHub Actions for Crossplane extensions.
Fixes #785