Skip to content

Commit ba90749

Browse files
committed
Automatically create release tags via GitHub actions
Release tags are now created automatically when including an indicator (see updated documentation) in the commit message.
1 parent fd8af8a commit ba90749

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Create release tag
2+
on:
3+
push:
4+
branches: [ develop ]
5+
6+
jobs:
7+
create-tag:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v2
11+
with:
12+
fetch-depth: '0'
13+
- name: Bump version and push tag
14+
uses: anothrNick/[email protected]
15+
env:
16+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
17+
DEFAULT_BUMP: none
18+
RELEASE_BRANCHES: develop
19+
VERBOSE: false

doc/ADR/release_process.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,22 @@ The current process we follow through to make a new release is the following:
1111
1. At the point in time we want to make the release, we make a change to
1212
`src/config.inc`, and update the configuration variable `CBMC_VERSION`.
1313
This is important as it informs the various tools of the current version
14-
of CBMC.
15-
16-
(This needs to be pushed as a PR, and after it gets merged we move on to:)
17-
18-
2. Then we make a `git tag` out of that commit, and push it to github. The
19-
tag needs to be of the form `cbmc-<version>` with version being a version
14+
of CBMC. The commit message must then contain one of #major, #minor, or
15+
#patch to inform the GitHub action that automatically creates a release tag.
16+
The tag is of the form `cbmc-<version>`, with `<version>` being a version
2017
number of the form of `x.y.z`, with `x` denoting the major version, `y`
2118
denoting the minor version, and `z` identifying the patch version (useful
2219
for a hotfix or patch.)
2320

2421
At this point, the rest of the process is automated, so we don't need to do
2522
anything more, but the process is described below for reference:
2623

27-
3. `.github/workflows/regular-release.yaml` gets triggered on the `push`
24+
2. `.github/workflows/regular-release.yaml` gets triggered on the `push`
2825
of the tag, and creates a Github release of the version that was
2926
described in thetag pushed (so, tag `cbmc-5.15.20` is going to
3027
create the release titled `cbmc-5.15.20` on the release page).
3128

32-
4. `.github/workflows/release-packages.yaml` gets triggered automatically
29+
3. `.github/workflows/release-packages.yaml` gets triggered automatically
3330
at the creation of the release, and its job is to build packages for
3431
Windows, Ubuntu 18.04 and Ubuntu 20.04 (for now, we may support more
3532
specific Ubuntu versions later) and attaches them (after it has finished

0 commit comments

Comments
 (0)