github.com/containerd/nerdctl/v2@v2.0.0-beta.5.0.20240520001846-b5758f54fa28/MAINTAINERS_GUIDE.md (about) 1 # Maintainers' guide 2 3 ## Maintainer list 4 5 - Core: https://github.com/containerd/project/blob/main/MAINTAINERS 6 - Non-core: [`MAINTAINERS`](./MAINTAINERS) 7 8 ## Governance 9 10 See https://github.com/containerd/project/blob/main/GOVERNANCE.md 11 12 ## Creating a release 13 14 Eligibility to be a release manager: 15 - MUST be an active Commiter (Core or Non-core) 16 - MUST have the GPG fingerprint listed in [`MAINTAINERS`](./MAINTAINERS) 17 - MUST upload the GPG public key to `https://github.com/USERNAME.gpg` 18 - MUST protect the GPG key with a passphrase or a hardware token. 19 20 Release steps: 21 - Open a PR to keep the dependencies up-to-date. 22 Update `go.mod` for Go dependencies (usually Dependabot automatically updates them). 23 Update `Dockerfile` and relevant files under `Dockerfile.d` for `nerdctl-full` dependencies. 24 - Open an issue to propose making a new release. 25 The proposal should be public, with an exception for vulnerability fixes. 26 If this is the first time for you to take a role of release management, 27 you SHOULD make a beta (or alpha, RC) release as an exercise before releasing GA. 28 - Make sure that all the merged PRs are associated with the correct [Milestone](https://github.com/containerd/nerdctl/milestones). 29 - Run `git tag --sign vX.Y.Z-beta.W` . 30 - Run `git push UPSTREAM vX.Y.Z-beta.W` . 31 - Wait for the `Release` action on GitHub Actions to complete. A draft release will appear in https://github.com/containerd/nerdctl/releases . 32 - Download `SHA256SUMS` from the draft release, and confirm that it corresponds to the hashes printed in the build logs on the `Release` action. 33 - Sign `SHA256SUMS` with `gpg --detach-sign -a SHA256SUMS` to produce `SHA256SUMS.asc`, and upload it to the draft release. 34 - Add release notes in the draft release, to explain the changes and show appreciation to the contributors. 35 Make sure to fulfill the `Release manager: [ADD YOUR NAME HERE] (@[ADD YOUR GITHUB ID HERE])` line with your name. 36 e.g., `Release manager: Akihiro Suda (@AkihiroSuda)` . 37 - Click the `Set as a pre-release` checkbox if this release is a beta (or alpha, RC). 38 - Click the `Publish release` button. 39 - Close the [Milestone](https://github.com/containerd/nerdctl/milestones).