Release
This section outlines the overall process and steps to perform the community release of PASS.
A PASS release produces a set of Java artifacts, Docker images, and Documentation. Java artifacts are published on Sonatype Central Portal and Maven Central repositories. Docker images are pushed to GitHub Container Registry (GHCR). Source code is tagged and release notes made available.
Each release of PASS has its own version which is used by every component. PASS uses MAJOR.MINOR.PATCH
semantic versioning approach. The version should be chosen based on those guidelines.
Release Steps
Assign a Release Manager, the person who will be responsible for the release process. The Release Manager must be a PASS committer.
Choose a release version that communicates the magnitude of the change.
Create a GitHub issue in the main repository using the
Release Checklist Issue
template from the main repository create new issue page.Follow the steps in the created Release GitHub issue to complete the release.
See these instructions for running the
Publish: Release All
GitHub Action workflow.
Triggering the Release All GitHub workflow
Before running the
Publish: Release All
workflow, the GitHub PAT configuration is required.Navigate to Publish: Release All
Click on the
Run workflow
dropdown buttonConfirm the branch is
main
and enter the versions in theRelease version
andNext dev version
fieldsRelease version: full release version, e.g. 1.10.0. These versions should be regarded as immutable. These releases for Java projects cannot be updated or deleted.
Next dev version: snapshot or development versions, e.g. 1.11.0-SNAPSHOT (please use all capital letters for the SNAPSHOT suffix). These development versions are intended to be overwritten.
Click the
Run workflow
buttonAfter a few seconds, a new workflow run should appear in the table with a yellow (in-progress) status dot. Clicking on that will allow you to monitor the run's progress by watching logs.
It is recommended that you monitor the automation after triggering it to make sure it completes successfully.

GitHub Personal Access Token Setup
The Publish: Release All
GitHub workflows depend on the JAVA_RELEASE_PAT
secret having permission to access all the eclipse-pass repositories and write packages.
You have to create a new classic Personal Access Token (PAT) to do the release (GitHub/Settings/Developer Settings/Personal access tokens/Tokens (classic)).
If you do so, set the expiration to 7 days, check the repo
and the write:packages
scope (subscopes under repo
and write:packages
will be selected too).
How to set the secret in the main repository using the gh command line tool GitHub CLI:
gh auth login
gh secret set JAVA_RELEASE_PAT --body <PAT_VALUE> --repo eclipse-pass/main
Alternate Release Procedures
The Publish: Release All GitHub Action workflow is the preferred way to complete the PASS release. However, it is possible to execute a PASS release with project automations one at a time or manually if needed. This is not recommended unless absolutely necessary since executing the release manually introduces the chance of making mistakes.
Last updated