Skip to content

Conversation

@HannesWell
Copy link
Member

This PR enhances the Jenkins jobs in https://ci.eclipse.org/releng/job/Releng/ for the build promotion and publication first by renaming

  • Releng/renameAndPromote to Releng/promoteBuild
  • Releng/makeVisible to Releng/publishPromotedBuild

which I think is a bit more suitable.
@MohananRahul and maybe @merks or anybody else: What do you think?

And second by reducing the number of parameters of the (previous renameAndPromote) promoteBuild job as they are actually redundant and can be deirved from other values or data.

This still needs some testing but I would like to have this ready for M2 so that the new jobs can be used for that promotion, @MohananRahul. Or is M2 totally silent and no promotion to Milestone happen?

@HannesWell HannesWell force-pushed the enhance-promotion-job-parameters branch 2 times, most recently from 94ed411 to 4bd74aa Compare July 24, 2025 22:20
@HannesWell HannesWell force-pushed the enhance-promotion-job-parameters branch from 4bd74aa to 7640987 Compare July 24, 2025 22:22
@HannesWell HannesWell marked this pull request as ready for review July 24, 2025 22:23
- Remove those parameters that can be derived from others.
- Move creation of 'mailtemplate.txt' file to Jenkins pipeline.
- Drop creation of unused 'checklist.txt' file.
- Drop consideration of 'M'-DROP_IDs, which are not produced anymore.
@HannesWell HannesWell force-pushed the enhance-promotion-job-parameters branch from 7640987 to 3e9b69e Compare July 24, 2025 22:25
@HannesWell
Copy link
Member Author

HannesWell commented Jul 24, 2025

My testing was successful, so lets see if it also works in the real world.

@HannesWell HannesWell merged commit 5aef6ff into eclipse-platform:master Jul 24, 2025
6 checks passed
@HannesWell HannesWell deleted the enhance-promotion-job-parameters branch July 24, 2025 22:56
@HannesWell
Copy link
Member Author

@MohananRahul the new jobs are created at:

Please use them when you do the M2 promotion tomorrow (your today).

I have not yet deleted the old jobs to keep them as a reference until the M2 promotion is done.

@HannesWell
Copy link
Member Author

And in the future I plan to move more tasks into the two new jobs like sending the mails when the publication is completed or triggering the maven-deployment (only to Central staging, the final release still has to be done by hand) when a release is promoted.
And for M (and maybe also RC) promotion, the make visible job could be triggered automatically by the promote job already.

@MohananRahul
Copy link
Contributor

@MohananRahul the new jobs are created at:

Please use them when you do the M2 promotion tomorrow (your today).

I have not yet deleted the old jobs to keep them as a reference until the M2 promotion is done.

M2 Successfully promoted https://download.eclipse.org/eclipse/downloads/drops4/S-4.37M2-202507241800/

@HannesWell
Copy link
Member Author

M2 Successfully promoted https://download.eclipse.org/eclipse/downloads/drops4/S-4.37M2-202507241800/

Great, thanks for reporting back.
Will delete the old jobs soon.

@MohananRahul
Copy link
Contributor

@HannesWell, just to confirm - for the final release, can we use the DROP_ID as S-4.3XRC2-X-X for the promotion?
ie, S-4.37RC2-202508280630

@HannesWell
Copy link
Member Author

for the final release, can we use the DROP_ID as S-4.3XRC2-X-X for the promotion?
ie, S-4.37RC2-202508280630

Yes, that's possible and I would even recommend to use the RC2(x) ID as we then don't have to disable any clean job to ensure the source I-build is present.

In fact you can promote all of I-builds, milestones or RCs to GA release (i.e. an empty CHECKPOINT). Only if you want to promote a non-empty CHECKPOINT (MX or RCX), you have to use an I-build as source.
In detail you find the pipelines code at:

if ((idMatcher = env.DROP_ID =~ /I(?<date>\d{8})-(?<time>\d{4})/).matches()) {
assignEnvVariable('BUILD_LABEL', "${DROP_ID}")
} else if ((idMatcher = env.DROP_ID =~ /S-(?<label>\d+\.\d+(\.\d+)?(M|RC)\d+[a-z]?)-(?<date>\d{8})(?<time>\d{4})/).matches()) {
assignEnvVariable('BUILD_LABEL', idMatcher.group('label'))
if ("${CHECKPOINT}") {
error "Stable build DROP_ID=${DROP_ID} may only be promoted to release CHECKPOINT, which therefore must be empty: ${CHECKPOINT}"
}
} else {
error "DROP_ID, ${DROP_ID}, did not match any expected pattern."
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants