-
Notifications
You must be signed in to change notification settings - Fork 57
How to release
Ondro Mihályi edited this page Mar 23, 2025
·
5 revisions
- Create a release record in https://projects.eclipse.org/projects/ee4j.glassfish/governance
- version number should be ${VERSION}-hk2
- no review required for service releases
- for major and minor releases, a progress review is required if it's more than 1 year since the last progress review
- Release to staging area via the Jenkins job all-projects_1_build-and-stage
- PROJECT=hk2
- If build successful, it will create a new staging repository. You can find the repository ID in the console log, search for "STAGING_REPO_ID". This repository should be visible in the Jakarta Staging repository, under "Nexus Managed Repositories". It should be also available at https://jakarta.oss.sonatype.org/content/repositories/${REPO_ID}/
- Verify artifacts are staged in the combined Jakarta Staging repository
- If needed, test the staged version.
- Dry run releasing to Maven Central with the Jenkins job all-projects_3_staging-to-release
- STAGING_DESC=org.glassfish.hk2:hk2
- DRY_RUN=true (checkbox checked)
- After successful run, check console log. Make sure that at the end of the output, only one repository ID is echoed. If multiple repositories are echoed, some of them are old repositories and should be dropped. Drop them with the all-projects_manage_staging_repos Jenkins job, with the DROP_REPOSITORIES action, so that only the newly staged repository remains.
- If there's only one staged repository, push to Maven Central via the same Jenkins job all-projects_3_staging-to-release. This time with DRY_RUN disabled:
- STAGING_DESC=org.glassfish.hk2:hk2
- DRY_RUN=false (checkbox not checked)
- Create a release in Github based on the release tag created in step 1: https://github.com/eclipse-ee4j/glassfish-hk2/releases
- Merge the release branch to master
- Delete the release branch
- Update the release record created in step 1 with more info, e.g. link to the release notes in Github
If you need to cancel a release at any point and clean all up, do the following if applicable:
- Delete the release branch and tag created in step 1:
- Drop the staging repository created in step 1
- run the all-projects_manage_staging_repos Jenkins job with the DROP_REPOSITORIES action and REPOSITORY_IDS with the repository ID you can find in the console output of job from step 1 (search for "STAGING_REPO_ID")