You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: RELEASING.md
+33-18Lines changed: 33 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -12,62 +12,77 @@ these tasks run on master and can be patched at any time.
12
12
13
13
Stable releases are now managed by internal tooling (PCT)
14
14
15
-
Use the instructions bellow as a fallback.
16
-
17
15
## Package Managers
18
16
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.
20
19
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/.
22
23
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.
24
26
25
27
* Yum and Apt are handled internally via evergreen tasks `push_stable_atlascli_generate` and `push_stable_mongocli_generate`.
26
28
27
29
## Docker Image
30
+
28
31
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.
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.
33
42
34
43
#### 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.
36
44
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.
39
48
49
+
#### Step 3: Verify Signature
40
50
51
+
The final step involves verifying the Docker image's signature to confirm its authenticity.
41
52
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)
44
54
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/)
46
57
58
+
To manually generate a new stable release, you can run:
47
59
48
60
```bash
49
61
./scripts/release.sh atlascli/v1.0.0
50
62
```
51
63
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
53
66
54
67
This will do the following things:
68
+
55
69
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`
57
71
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).
59
74
75
+
## Generate the SBOM
60
76
61
-
# Generate the SBOM
62
77
The Software Bill of Materials (SBOM) is a description of the components that make up a software artifact.
63
78
64
-
## Atlas CLI Binary
79
+
###Atlas CLI Binary
65
80
We use `go version` to generate the SBOM for Atlas CLI binaries. You can generate the SBOM via the following command:
66
81
```bash
67
82
go version -m <path_to_atlasCLI_binary>
68
83
```
69
84
70
-
## Atlas CLI Docker image
85
+
###Atlas CLI Docker image
71
86
We use `docker sbom` to generate the SBOM for the Atlas CLI docker image. You can generate the SBOM via the following command:
0 commit comments