This document describes the process of releasing a new version of Dependency-Track via GitHub Actions.
- Ensure that there is no dependency on
SNAPSHOT
versions of libraries and frameworks - In case the release includes database schema changes or upgrades, ensure that they work with all supported databases
- Embedded H2
- Microsoft SQL Server
- MySQL
- PostgreSQL
- Ensure that a changelog entry for the release exists and is complete
- Bump the
version
field indocs/_config.yml
to the new version - When API server and frontend shall be released together
- Release the frontend first
- Bump to the
frontend.version
property inpom.xml
according to the new version
- Ensure the current state in
master
is ready to be released - Head over to the Actions tab in GitHub
- Select the Release CI entry in the Workflows section
- The following UI element will have a button to trigger the workflow. Once clicked, the Use workflow from dialog will appear:
- Ensure that
master
is selected in the branch dropdown - OPTIONAL. If the version you intend to release differs from the version in the branch you can overwrite it by specifying it in the input variable designated for it
- Finally, once all inputs are checked press the Run Workflow button
- Ensure the current state in the release branch is ready to be released
- Head over to the Actions tab in GitHub
- Select the Release CI entry in the Workflows section
- The following UI element will have a button to trigger the workflow. Once clicked, the Use workflow from dialog will appear:
- Ensure that a release branch (e.g.
4.5.x
) is selected in the branch dropdown - OPTIONAL. If the version you intend to release differs from the version in the branch you can overwrite it by specifying it in the input variable designated for it
- Finally, once all inputs are checked press the Run Workflow button
- Collect hashes of all release artifacts (e.g. via
checksums.txt
attached to GitHub Releases)- API server:
dependency-track-apiserver.jar
,dependency-track-bundled.jar
- frontend:
frontend-dist.zip
- API server:
- Collect links for all SBOMs generated during the release (they're attached to GitHub Releases)
- Create a branch from the latest release branch (e.g.
4.6.x
)- Update the release changelog with the collected hashes and SBOMs
- Create PR back into the release branch and get it merged
- Change the deployment branch for GitHub Pages to the new release branch
- Update Dependency-Track Version options in issue templates