-
-
Notifications
You must be signed in to change notification settings - Fork 72
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
Auto build the release tool with the dry-run option in post build stage #911
Comments
We can do it at two different stages.
Either way we need to do per platform so each platform has its own release build job which can be rerun to publish. The build information with url link can be added as pipeline job description e.g https://ci.adoptium.net/job/build-scripts/job/release-openjdk11-pipeline/40/ |
@smlambert thoughts? |
The release job ( not necessarily related with this issue) https://ci.adoptium.net/job/refactor_openjdk_release_tool_new/ |
@sophia-guo I think I like the idea of running a dry run of the release after each platform is built for the nightly build, but I wonder if its possible to have the behaviour different for nightly / release pipelines, and have the dry-run for a release pipeline wait until all jdk builds are done?. |
Adjusted the title since I misinterpreted as a proposal to run another complete dry-run pipeline like we do before release after every build :-) |
I'm 👍🏻 on this, however some other things to consider:
|
I'm thinking attaching all rerun build links to the bottom of the release pipeline job description. When I do the publish I always check the release pipeline job itself. So I think it should be good to attach the rerun links to the release pipeline job itself. If dry run fails the link would be dry run link. If dry run succeeds the link is the publish link.
It's common that the rerun links will be mixed or deleted if nightly also triggers the job. Max # of builds to keep need to be increased ( current it's 50). Also might help if nightly and release publish can be separated. |
I'm not sure if I understand correctly. Currently for nightly build pipelines the binaries are published until all jdk builds are done and no publish process for release build pipeline. Also for nightly there are no dry runs. Are you suggesting
We can definitely have the behaviour different for nightly / release pipelines. Just want to compare the Pros and Cons. |
Actually if we don't care about of the dry run build we might not need to keep that build. We can provide the dry run build in two ways. One is the link of dry run build itself, which asks to retain the builds of the release_tool for long enough so they aren't deleted when you want to re-run them. The dryrun link would be 'https://ci.adoptium.net/job/build-scripts/job/release/job/refactor_openjdk_release_tool/dryrunbuildNumber/' The other way is just to provide the rerun link of the dry run (same parameters of the dry run) something like 'https://ci.adoptium.net/job/build-scripts/job/release/job/refactor_openjdk_release_tool/parambuild/?TAG='specificTag'&&VERSION='specificVersion'&RELEASE=true&UPSTREAM_JOB_NAME='upsteamjobname'&UPSTREAM_JOB_NUMBER='jobnumber'&ARTIFACTS_TO_COPY='specifiedFilter'&ARTIFACTS_TO_SKIP="**/*testimage*'"&DRYRUN=false'. This way no dry run build itself is required to keep. |
option 1 - running a dry run of the release after each platform is built option 2 - running the dry-run for a release pipeline wait until all jdk builds are done |
option 1 means you have each platform as an individual dry-run job which is consistent with what we need during a release cycle since we don't publish all together. There are two sub-options within this though 1b is probably better as it can point to the release-openjdkXX-pipeline for the artifacts, and also keeps all of the references to the dry-run jobs in one place making them easier to find.
Yes I agree - that would be really useful I think. |
@sxa https://github.com/adoptium/ci-jenkins-pipelines/compare/master...sophia-guo:release1?expand=1 is option1 with sub option 1b. |
The current release publish workflow is
The mistakes might happen when manually setting the parameters besides sometime it's hard to find the dry run build if the job is triggered by nightly build automatically at the same time.
If the dry run can be triggered automatically by the pipeline build the process would be easier and more reliable for for release champions.
Part or related with #739
The text was updated successfully, but these errors were encountered: