Skip to content

Commit 487d0d2

Browse files
authored
docs: update RELEASING (#3842)
1 parent b671d34 commit 487d0d2

File tree

1 file changed

+33
-18
lines changed

1 file changed

+33
-18
lines changed

RELEASING.md

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,62 +12,77 @@ these tasks run on master and can be patched at any time.
1212

1313
Stable releases are now managed by internal tooling (PCT)
1414

15-
Use the instructions bellow as a fallback.
16-
1715
## Package Managers
1816

19-
Package Managers are published after a stable release happens, in which binaries are stored in github releases and also uploaded to our download center (https://www.mongodb.com/try/download/atlascli.
17+
Package Managers are published after a stable release happens, in which binaries are stored in
18+
GitHub releases and also uploaded to our download center (https://www.mongodb.com/try/download/atlascli.
2019

21-
* [Chocolatey](http://chocolatey.org) release is triggered in https://github.com/mongodb-forks/chocolatey-packages/, the Github Action will trigger every weekday at 4pm (UTC) to check if there are any new releases in https://github.com/mongodb/mongodb-atlas-cli/releases/.
20+
* [Chocolatey](http://chocolatey.org) release is triggered in https://github.com/mongodb-forks/chocolatey-packages/,
21+
the GitHub Action will trigger every weekday at 4pm (UTC) to check if there are any new releases
22+
in https://github.com/mongodb/mongodb-atlas-cli/releases/.
2223

23-
* [Homebrew](http://brew.sh/) release is triggered in https://github.com/Homebrew/homebrew-core/, which is not maintained by MongoDB rather by homebrew community.
24+
* [Homebrew](http://brew.sh/) release is triggered in https://github.com/Homebrew/homebrew-core/,
25+
which is maintained by the homebrew community, not MongoDB.
2426

2527
* Yum and Apt are handled internally via evergreen tasks `push_stable_atlascli_generate` and `push_stable_mongocli_generate`.
2628

2729
## Docker Image
30+
2831
Our Docker image release for AtlasCLI is managed through the [docker-release.yml](.github/workflows/docker-release.yml) workflow. This process is automated to run daily, ensuring the latest versions of the image dependencies are updated.
2932
![github_action](https://github.com/mongodb/mongodb-atlas-cli/assets/5663078/fd54ccda-7794-4139-af92-dbde0c278e78)
33+
3034
### Release Steps
35+
3136
#### Step 1: Build and Stage
32-
The AtlasCLI Docker image is built from the ([Dockerfile](Dockerfile)) and tagged in three ways: `latest`, `vX.Y.Z` (reflecting the latest release version, e.g., `v1.22.0`), and `vX.Y.Z-date` (adding the current date, e.g., `v1.22.0-2024-01-01`). This image is initially published to a staging registry to prepare for signature in the next step.
37+
38+
The AtlasCLI Docker image is built from the ([Dockerfile](Dockerfile)) and tagged in three ways:
39+
`latest`, `vX.Y.Z` (reflecting the latest release version, e.g., `v1.22.0`), and `vX.Y.Z-date`
40+
(adding the current date, e.g., `v1.22.0-2024-01-01`).
41+
This image is initially published to a staging registry to prepare for signature in the next step.
3342

3443
#### Step 2: Sign and Publish
35-
We retrieve the image from the staging registry and use its [OCI index](https://github.com/opencontainers/image-spec/blob/main/image-index.md) to identify the three relevant digests. Each digest is signed using [cosign](https://github.com/sigstore/cosign), and the corresponding signature is stored in the MongoDB cosign repository. The signed image is then pushed to the public repository.
3644

37-
#### Step 3: Verify Signature
38-
The final step involves verifying the Docker image's signature to confirm its authenticity.
45+
We retrieve the image from the staging registry and use its [OCI index](https://github.com/opencontainers/image-spec/blob/main/image-index.md) to identify the three
46+
relevant digests. Each digest is signed using [cosign](https://github.com/sigstore/cosign), and the corresponding signature is stored
47+
in the MongoDB cosign repository. The signed image is then pushed to the public repository.
3948

49+
#### Step 3: Verify Signature
4050

51+
The final step involves verifying the Docker image's signature to confirm its authenticity.
4152

42-
## Deprecated
43-
_**Note:** This action will only publish a release for [maintainers of the cli](https://github.com/orgs/mongodb/teams/mongocli)_
53+
## Manual Release (Deprecated)
4454

45-
To manually generate a new stable release you can run:
55+
> [!IMPORTANT]
56+
> This action will only publish a release for [maintainers of the cli](https://github.com/orgs/mongodb/teams/apix/)
4657
58+
To manually generate a new stable release, you can run:
4759

4860
```bash
4961
./scripts/release.sh atlascli/v1.0.0
5062
```
5163

52-
**Note:** Please use the `atlascli/vX.Y.Z` format for the version to release
64+
> [!IMPORTANT]
65+
> Please use the `atlascli/vX.Y.Z` format for the version to release
5366
5467
This will do the following things:
68+
5569
1. Tag a new version, ie: `git tag -a -s atlascli/v1.0.0 -m "atlascli/v1.0.0"`
56-
2. Publish the new tag, ie `git push origin atlascli/v1.0.0`
70+
2. Publish the new tag, ie: `git push origin atlascli/v1.0.0`
5771
3. The [evergreen](build/ci/release.yml) release task will run after a tag event from master.
58-
4. If everything goes smoothly the release will be published in the [releases page](https://github.com/mongodb/mongodb-atlas-cli/releases), and [download center](https://www.mongodb.com/try/download/atlascli).
72+
4. If everything goes smoothly, the release will be published in the
73+
[release page](https://github.com/mongodb/mongodb-atlas-cli/releases), and [download center](https://www.mongodb.com/try/download/atlascli).
5974

75+
## Generate the SBOM
6076

61-
# Generate the SBOM
6277
The Software Bill of Materials (SBOM) is a description of the components that make up a software artifact.
6378

64-
## Atlas CLI Binary
79+
### Atlas CLI Binary
6580
We use `go version` to generate the SBOM for Atlas CLI binaries. You can generate the SBOM via the following command:
6681
```bash
6782
go version -m <path_to_atlasCLI_binary>
6883
```
6984

70-
## Atlas CLI Docker image
85+
### Atlas CLI Docker image
7186
We use `docker sbom` to generate the SBOM for the Atlas CLI docker image. You can generate the SBOM via the following command:
7287
```bash
7388
docker sbom mongodb/atlas:latest

0 commit comments

Comments
 (0)