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
{{ message }}
Repository navigation
Commit e71a912
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: .github/maintainers_guide.md
+9-59Lines changed: 9 additions & 59 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -106,58 +106,11 @@ Refer to the [README](https://github.com/slackapi/java-slack-sdk/blob/main/docs/
106
106
107
107
### Releasing
108
108
109
-
#### Prerequisites
110
-
111
-
* If you don't have `gnu-sed`, run `brew install gnu-sed` & `brew install gnupg`
112
-
* Make sure you've set up your key https://central.sonatype.org/publish/requirements/gpg/
113
-
* Make sure the account you are using has the permission to make releases [under com.slack groupId](https://central.sonatype.com/publishing/com.slack/users)
114
-
115
-
Place `$HOME/.m2/settings.xml` with your Sonatype account information.
116
-
* Generate user token: https://central.sonatype.org/publish/generate-portal-token/
117
-
* Set the user token id/password: https://central.sonatype.org/publish/publish-portal-maven/#credentials
Snapshot releases are intended for developers to make pre-release versions of their projects available for testing.
144
-
To learn more about snapshot releases in maven central repository check out [publish-portal-snapshots](https://central.sonatype.org/publish/publish-portal-snapshots/)
111
+
Snapshot releases are published by starting and approving the [release workflow](https://github.com/slackapi/java-slack-sdk/actions/workflows/release.yml) with `workflow_dispatch` for any branch with a `-SNAPSHOT` version, including the `main` branch.
145
112
146
-
* From the upstream repository
147
-
* Preparation
148
-
*`git switch main && git pull origin main` (or the branch you want to release from)
149
-
* Make sure there are no build failures at https://github.com/slackapi/java-slack-sdk/actions
150
-
* Set a new version
151
-
* It is **critical** that the version ends with `-SNAPSHOT`. This is how [central-publishing-maven-plugin](https://central.sonatype.org/publish/publish-portal-snapshots/#publishing-with-the-central-publishing-maven-plugin) automatically recognizes snapshot releases and uploads them the right location.
152
-
* If you don't have `gnu-sed`, check out [Prerequisites](#prerequisites)
153
-
* Run `scripts/set_version.sh (the version)` (e.g., `scripts/set_version.sh 1.0.0-SNAPSHOT`)
154
-
* Ship the libraries
155
-
* Switch to **JDK 17** to publish all modules (on macOS, you can run `export JAVA_HOME=$(/usr/libexec/java_home -v 17)` for it)
156
-
* Run `scripts/release.sh` (it takes a bit long)
157
-
* (If you encounter an error, log in https://oss.sonatype.org/ to check detailed information)
158
-
* No need to create a GitHub Release, since this is intended for developers to make pre-release versions of their projects.
159
-
*`-SNAPSHOT` versions are intended to be overwritten.
160
-
* This enables developers to work with the latest version of a library without needing to update their dependencies repeatedly.
113
+
These `-SNAPSHOT` versions are intended to be overwritten. This enables developers to work with the latest version of a library without needing to update their dependencies repeatedly. To learn more about snapshot releases in maven central repository check out [publish-portal-snapshots](https://central.sonatype.org/publish/publish-portal-snapshots/).
161
114
162
115
#### Stable Release
163
116
@@ -166,19 +119,16 @@ To learn more about snapshot releases in maven central repository check out [pub
166
119
*`git switch main && git pull origin main`
167
120
* Make sure there are no build failures at https://github.com/slackapi/java-slack-sdk/actions
168
121
* Set a new version
169
-
* If you don't have `gnu-sed`, check out [Prerequisites](#prerequisites)
170
-
* Run `scripts/set_version.sh (the version)` (e.g., `scripts/set_version.sh 1.0.0`)
171
-
* Ship the libraries
172
-
* Switch to **JDK 17** to publish all modules (on macOS, you can run `export JAVA_HOME=$(/usr/libexec/java_home -v 17)` for it)
173
-
* Run `scripts/release.sh` (it takes a bit long)
174
-
* (If you encounter an error, log in https://oss.sonatype.org/ to check detailed information)
175
-
* Create GitHub Release(s) and add release notes
176
-
*[Look at previous releases](https://github.com/slackapi/java-slack-sdk/releases) and follow their layouts
177
-
* Prepare a release note by `git log --pretty=format:'%h %s by %an' --abbrev-commit | grep -v "Merge pull request " | head -50`
122
+
* Run `scripts/set_version.sh (the version)` (e.g., `scripts/set_version.sh 1.0.0`) — requires `gnu-sed` on macOS (`brew install gnu-sed`)
* Start and approve the [release workflow](https://github.com/slackapi/java-slack-sdk/actions/workflows/release.yml) using `workflow_dispatch` on `main`
128
+
* Create a GitHub Release
181
129
* Open https://github.com/slackapi/java-slack-sdk/releases/new?tag=v${version}
130
+
*[Look at previous releases](https://github.com/slackapi/java-slack-sdk/releases) and follow their layouts
131
+
* Prepare a release note by `git log --pretty=format:'%h %s by %an' --abbrev-commit | grep -v "Merge pull request " | head -50`
182
132
* (Slack Internal) Communicate the release internally. Include a link to the GitHub Release(s).
183
133
* (Slack Internal) Tweet? Not necessary for patch updates, might be needed for minor updates, definitely needed for
184
134
major updates. Include a link to the GitHub Release(s).
Releases publish all modules simultaneously to Maven Central via Sonatype.
610
610
611
-
-**Snapshot**: Version must end with `-SNAPSHOT`. Run `scripts/set_version.sh 1.x.y-SNAPSHOT`then `scripts/release.sh`
612
-
-**Stable**: Run `scripts/set_version.sh 1.x.y` then `scripts/release.sh`. Requires JDK 17, GPG signing, and Sonatype credentials in `~/.m2/settings.xml`
611
+
-**Snapshot**: Trigger the [release workflow](.github/workflows/release.yml) via `workflow_dispatch` on any branch with a `-SNAPSHOT`version.
612
+
-**Stable**: Run `scripts/set_version.sh 1.x.y`, commit, tag `v1.x.y`, push to `main`, then trigger the [release workflow](.github/workflows/release.yml) via `workflow_dispatch`.
613
613
- Version is set across all `pom.xml` files AND three generated version classes (generated by `scripts/set_version.sh`):
0 commit comments