-
Notifications
You must be signed in to change notification settings - Fork 327
release: less interactive and allow running stages individually #2790
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
Conversation
|
/test |
jackshirazi
left a comment
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.
yes please!
cachedout
left a comment
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.
💯 Nice one.
Co-authored-by: Mike Place <mike.place@elastic.co>
|
Hi, From what I understand this PR allows to conditionally execute all the steps in the release process, which is already a huge win when things go bad, so there is already a benefit to merge it as-is. However, I still think that the end goal should be to have a release pipeline with idempotent steps (some are already like the |
IIUC, the issue is mainly the release process in java that requires to push changes with the release and the new version, and generate the changelog on the fly and push it. Those steps might be the ones causing conflicts with the idempotent, though we might need to look into this deeply as I might be wrong. I personally prefer to delegate that responsibility to a Java Maven plugin in charge of the whole post-release process, this will avoid the caveats with any CI. In any case, I think this proposal will help with the idea of running the build from a particular stage onwards in the future if that's needed.
IIRC, it didn't work well with ephemeral workers. Additionally there are some pre-requisites:
We could give a go the restart and verify whether it works as expected, no strong opinion, though I prefer to play safe for the shake of reliability in the release process, so this PR might be enough, even though if the overhead is when filling the form, on the other side, there are no many releases per year - so far 7 in this year, so maybe it's not worth the invest to major changes knowing there are certain WiP to use a different CI vendor and we have not decided much. What do you think? |
I think it's fine to keep the proposal (this PR) as-is, even if the Jenkins-specific "restart from stage" might work with the known limitations. What I wonder though (and could definitely be discussed separately) is how we could build the steps to make them 1) idempotent and 2) maybe reusable if we switch to another CI vendor. We can't delegate all the steps to maven as it's only in charge of the build (for example the github release is not part of it). In my opinion, an ideal release pipeline would only have the target branch and release version as parameters and would execute only the steps that are needed. |
UI
Then the version will be prompted earlier within the checkout.
Issues
Superseedes #2789