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 8, 2023
1 parent 4062e7c commit 91d76a5
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Release Procedure

When creating a release, 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 the same
version as the one that's going to be tagged.

### Create release commit

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

### 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".

### Create release

After pushing the resulting tag, a GitHub release [should be
created](https://github.com/cnpem/epics-in-docker/releases/new). It should have
the same title as the tag, and the description can use the "Generate release
notes" feature, but special care should be taken to split the merged PRs into
the "Breaking changes", "New features", and "Bug fixes" categories. The first
section of the release description should be "Who needs this update" and
describe the most relevant changes and package updates and what their effect
is.

## `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-git` to avoid usage of the `main`
branch in actual deployments.

0 comments on commit 91d76a5

Please sign in to comment.