Skip to content

Commit

Permalink
RELEASE: document release procedure.
Browse files Browse the repository at this point in the history
  • Loading branch information
ericonr committed Nov 9, 2023
1 parent c0e66ec commit c47f8d4
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Release Procedure

When tagging a new release, which we will call `vX.Y.Z`, a few steps are
necessary.

## Housekeeping

### Check repository Issues and Pull Requests

Make sure there aren't any pending issues before tagging a new release.

## Release commit

### Change version in `Dockerfile`

The image version specified in [`Dockerfile`](./Dockerfile) should be `vX.Y.Z`.

### Change version in CHANGES

The "Unreleased" version in [CHANGES](./CHANGES.md) should be changed to
`vX.Y.Z`, and a new "Unreleased" header should be added.

### Add release description to CHANGES

This description should answer the "who needs this update?" question.

### Create release commit

This commit should contain only the above change, and be titled `Release
version vX.Y.Z.`.

### (Optional) Create Pull Request for this commit

Make sure the description covers all relevant points.

### Create tag

The tag should be signed and created locally:

```
$ git tag -a -s vX.Y.Z
```

And its contents should be only the title: `vX.Y.Z`.

For this step, it is necessary to [configure Git to sign tags with SSH
keys](https://docs.gitlab.com/ee/user/project/repository/signed_commits/ssh.html).

## `release` branch

The `release` branch should be updated to point to the new tag.

## `main` branch

A new commit should be created in the `main` branch, updating the version used
in [Dockerfile](./Dockerfile) to `vX.Y.Z-dev` to avoid usage of the `main`
branch in actual deployments.

0 comments on commit c47f8d4

Please sign in to comment.