Skip to content

Commit 9a03ec2

Browse files
Add documentation on the release process
Signed-off-by: Kate Goldenring <[email protected]>
1 parent 4e7ff77 commit 9a03ec2

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

release.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Cutting a new release of the Containerd Shim Spin
2+
3+
To cut a new release of the `containerd-shim-spin`, you will need to do the
4+
following:
5+
6+
1. Confirm that [CI is
7+
green](https://github.com/spinkube/containerd-shim-spin/actions) for the
8+
commit selected to be tagged and released.
9+
10+
1. Change all references of the version number in package
11+
[Cargo.toml](./Cargo.toml), crate
12+
[Cargo.toml](./containerd-shim-spin/Cargo.toml),
13+
[quickstart](./containerd-shim-spin/quickstart.md), [README](./README.md),
14+
[deployments](./deployments/), and [images](./images/). Run `cargo build
15+
--release` to make sure lockfiles reflect Cargo.toml updates. Add a new
16+
column to the [README shim and Spin version
17+
map](./README.md#shim-and-spin-version-map) that lists the version of the
18+
Spin dependencies for the release.
19+
20+
1. Create a pull request with these changes and merge once approved.
21+
22+
1. Checkout the commit with the version bump from above.
23+
24+
1. Create and push a new tag with a `v` and then the version number.
25+
26+
As an example, via the `git` CLI:
27+
28+
```
29+
# Create a GPG-signed and annotated tag
30+
git tag -s -m "Containerd Shim Spin v0.15.0" v0.15.0
31+
32+
# Push the tag to the remote corresponding to spinkube/containerd-shim-spin (here 'origin')
33+
git push origin v0.15.0
34+
```
35+
36+
1. Pushing the tag upstream will trigger the [release
37+
action](https://github.com/spinkube/containerd-shim-spin/actions/workflows/release.yaml).
38+
- The release build will create binary releases of the shim and upload these
39+
assets to a new GitHub release for the pushed tag. Release notes are
40+
auto-generated but edit as needed especially around breaking changes or
41+
other notable items.
42+
- The release action also creates test applications, a k3d node image with
43+
the `containerd-shim-spin`, and a new node installer image to be used by
44+
the runtime class manager.
45+
46+
1. Update [SpinKube documentation](https://github.com/spinkube/documentation) as
47+
necessary. Ensure the latest [node installer
48+
image](https://www.spinkube.dev/docs/spin-operator/installation/installing-with-helm/#prepare-the-cluster)
49+
is used and update the [Shim and Spin version
50+
map](https://www.spinkube.dev/docs/containerd-shim-spin/).

0 commit comments

Comments
 (0)