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
build(cli-test): document the compatible version of slack cli with each release
6
+
7
+
The minimum supported Slack CLI version is now documented in the README instead of being encoded in the package version using build metadata (e.g. `+cli.2.32.2`). Build metadata is stripped by npm during publish, causing version conflicts with previously published versions and breaking the automated release workflow.
Copy file name to clipboardExpand all lines: .github/maintainers_guide.md
+8-3Lines changed: 8 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -99,13 +99,15 @@ New official package versions are published when the release PR created from cha
99
99
### 🚧 Beta Releases
100
100
101
101
1. Make sure your local `main` branch has the latest changes
102
+
102
103
- Run `git rebase main` from your feature branch (this will rebase your feature branch from `main`). You can opt for `git merge main` if you are not comfortable with rebasing.
103
104
104
105
- If you do not have a feature branch, you can also use generic release candidate branch name like `<next-version>rc`, i.e. `2.5.0rc`.
105
106
106
107
2. For each package to be released, run `npm test --workspace packages/<package-name>` to verify that tests are passing.
107
108
108
109
3. Bump the version(s) in `package.json`
110
+
109
111
- The version must be in the format of `Major.Minor.Patch-BetaNamespace.BetaVersion` (ex: `5.10.0-workflowStepsBeta.1`, `2.5.0-rc.1`)
110
112
111
113
- Make a single commit for the version bump ([Example](https://github.com/slackapi/node-slack-sdk/commit/1503609d79abf035e9e21bad7360e124e4211594))
@@ -115,22 +117,27 @@ New official package versions are published when the release PR created from cha
115
117
- Add appropriate labels, including `release`
116
118
117
119
4. Once the PR's checks and tests have passed, merge it into the corresponding feature branch on the main repository. If you would like a review on the pull request or feel that the specific release you're doing requires extra attention, you can wait for an approval, but it is optional for this type of PR.
120
+
118
121
- Update your local main branch: `git pull origin <beta-feature-branch>`
119
122
120
123
- Add a version tag (ie, `git tag @slack/web-api@5.10.0-workflowStepsBeta.1`)
121
124
122
125
- Push the new tag up to origin: `git push --tags origin`
123
126
124
127
5. Publish the release to npm
128
+
125
129
- Run `npm publish --workspace packages/<package-name> --tag <dist-tag> --otp YOUR_OTP_CODE`
130
+
126
131
-`<dist-tag>` should be a label representative of the beta release. It could be feature-specific (i.e. `feat-token-rotation`) or it can be a generic release candidate (i.e. `2.5.0rc`). Whatever you decide: it must _not_ be `latest`, as that is reserved for non-beta releases.
127
132
128
133
- To generate an OTP (One Time Password), use your password generator of choice (Duo, 1Password)
129
134
130
135
6. Test that the publish was successful
136
+
131
137
- Run `npm info <PACKAGE_NAME> dist-tags`
132
138
133
139
7. Create GitHub Release(s) with release notes
140
+
134
141
- From the repository, navigate to the **Releases** section and draft a new release
135
142
136
143
- Release notes should mention the beta feature (if applicable), contributors, issues and PRs ([Example](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack%2Ftypes%401.8.0-workflowStepsBeta.2))
@@ -143,9 +150,7 @@ New official package versions are published when the release PR created from cha
143
150
144
151
This project is versioned using [Semantic Versioning](http://semver.org/), particularly in the [npm flavor](https://docs.npmjs.com/getting-started/semantic-versioning). Each release is tagged using git. The naming convention for tags is `{package_name}@{version}`. For example, the tag `@slack/web-api@v5.0.0` marks the v5.0.0 release of the `@slack/web-api` package. A single commit will have multiple tags when multiple packages are released simultaneously.
145
152
146
-
One package that expands upon the standard major.minor.patch version schema typically associated with Semantic Versioning is the `@slack/cli-test` package. This package employs standard major.minor.patch version, in addition to a [build metadata suffix](https://semver.org/#spec-item-10) suffix of the form `+cli.X.Y.Z`, e.g. `0.1.0+cli.2.24.0`. The version after `+cli.` communicates compatibility between the `@slack/cli-test` package and the [Slack CLI](https://docs.slack.dev/tools/slack-cli/) itself.
147
-
148
-
> The `@slack/cli-test` package must be published manually because our automated release workflow does not support semver build metadata. See [#2483](https://github.com/slackapi/node-slack-sdk/pull/2483) and [#2492](https://github.com/slackapi/node-slack-sdk/pull/2492) for more context.
153
+
The `@slack/cli-test` package documents its minimum supported Slack CLI version in the README.
0 commit comments