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).