Skip to content

Release Procedure

Daniel Silhavy edited this page Apr 26, 2022 · 7 revisions

The release procedure is split up into two main parts, the "release candidate" and the official "release".

Preparing a release candidate

Once the development branch has acquired enough features and bugfixes for a release, a release candidate branch is created based on the current version of the development branch. The release candidate should be tested over a 1-2 week timespan before doing the official release.

1. Create a RC branch

The release candidate always includes a version number and is created in the following way:

git checkout develop
git checkout -b RC-1.2.0
git push origin RC-1.2.0

2. Preparing the release notes

The release notes should include all the changes since the last official release. Each entry in the release notes should contain at least the following information:

  • A link to the corresponding pull request or a specific commit
  • A short textual description of the change
  • Categorization of the change

An example of release notes:

DASH-IF Conformance software - Release candidate version X.X

Features
#1 Add first version of a new CLI that outputs the test results in JSON format

Improvements
#2 Improve the structure in module XY

Bugfixes
#3 Fix a bug in the Conformance Frontend that causes the UI to crash

3. Announcing the release candidate

tbd, need to agree where we announce this.

Preparing an official release

1. Merging the changes

Merge the changes from the RC branch into the main branch:

git checkout main
git pull origin RC-version_number
git push

2. CI/CD Automatic deployment

Once main is updated, the pre-configured Github actions verify the build and automatically deploy the new version of the Conformance Tools on the EC2 instance. Make sure that the whole CI/CD chain is applied successfully by checking the Actions tab of the project.

Once the Github actions completed successfully, navigate to http://conformance.dashif.org/ and make sure that the frontend is still up and running.

3. Preparing a release on Github

Navigate to https://github.com/Dash-Industry-Forum/DASH-IF-Conformance and click on "Create a new release" on the right side.

  1. Create a new tag including the version number, for instance "vX.X.X".
  2. Choose main as the Target branch
  3. Add a release title: "Conformance Software vX.X.X"
  4. Copy/paste the release notes in the textfield
  5. Click on "Publish release"
Bildschirmfoto 2022-03-22 um 16 52 50

4. Announcing the release

New release candidates and the final releases are announced in our Google Group and in our Slack channel: