Following actions need to be taken to release a new stable version of BlueChi:
- Creating and merging a release commit
- Tagging a release commit
- Creating and merging a post release commit
Following files need to be updated to create a new stable release commit:
- In build-scripts/version.sh set
IS_RELEASE=true
. For the first release of that versionRELEASE=1
is used. This may be increased if additional package releases are needed. - A new
%changelog
section in bluechi.spec.in should be added and it should contain information about the new package release
Here is the example of the release commit for version 0.6.0.
When the release commit is merged, we need to tag the release commit to be able to create an official release visible on the GitHub project pages.
The tag should use v<VERSION>
format, where <VERSION>
is the version of the release we want to create (for example
the tag should be v0.1.0
for the 0.1.0 version). There are 2 ways to create a release tag:
- Using GitHub web UI, when creating a release (see following section)
- Using standard git commands
-
Create a release tag pointing to the release commit:
git tag v<VERSION> <GIT HASH>
where
v<VERSION
is the release tag and<GIT HASH>
is the git has of the relevant release commit. -
Push the commit to the repo:
git push origin v<VERSION>
where
v<VERSION>
is the new release tag.
-
WARNING: If a release tag has a different format, source archive for the release will have a different structure, which would cause RPM build for Fedora to fail.
Pushing the new tag to the repository will trigger a GitHub workflow which automatically creates a new release. It will be listed on the release page of BlueChi. Assets such as the .src.rpm are generated and added to that release by the workflow. In addition to the generated release notes, its good to manually add a Highlights section describing the most important changes.
Following files need to be updated to switch the build from release build back to snapshot build. In build-scripts/version.sh
- set
IS_RELEASE=false
- increase the project version
VERSION
Here is the example of the post release commit for version 0.6.0.
WARNING: There should not be merged any commits to the project between the release commit and the post release commit to make things clear.
After the new release has been created, the GitHub workflow for generating BlueChi's SBOMs can be started manually (by project collaborators) for the recent tag created. It uses sbom4rpms and will build as well as analyze BlueChi's runtime dependencies declared in the RPM packages recursively. The generated SBOMs are being attached to the Action run. The .zip containing the SBOMs can be downloaded and attached to the assets of the respective BlueChi release.