|
28 | 28 | description: "Stage the binary jars to nexus" |
29 | 29 | default: true |
30 | 30 | type: boolean |
| 31 | + email-template: |
| 32 | + description: "Generate vote email template" |
| 33 | + default: true |
| 34 | + type: boolean |
31 | 35 |
|
32 | 36 | permissions: |
33 | 37 | contents: read |
@@ -162,3 +166,113 @@ jobs: |
162 | 166 | PEKKO_GPG_SECRET_KEY: ${{ secrets.PEKKO_GPG_SECRET_KEY }} |
163 | 167 | SONATYPE_USERNAME: ${{ secrets.NEXUS_STAGE_DEPLOYER_USER }} |
164 | 168 | SONATYPE_PASSWORD: ${{ secrets.NEXUS_STAGE_DEPLOYER_PW }} |
| 169 | + |
| 170 | + email-template: |
| 171 | + runs-on: ubuntu-24.04 |
| 172 | + if: ${{ inputs.email-template }} |
| 173 | + steps: |
| 174 | + - name: Generate vote email template |
| 175 | + run: |- |
| 176 | + export MODULE="Pekko (Core)" |
| 177 | + export VERSION=$(echo $REF | sed -e "s/.\(.*\)-.*/\\1/") |
| 178 | + export RC_VERSION=$(echo $REF | tail -c +2) |
| 179 | + echo "VERSION=$VERSION" |
| 180 | + echo "RC_VERSION=$RC_VERSION" |
| 181 | +
|
| 182 | + export DISCUSS=$(curl 'https://lists.apache.org/api/stats.lua?list=dev&domain=pekko.apache.org' | jq ".emails.[] | .subject, .mid" | grep -A1 "$MODULE $VERSION" | tail -1 | tr -d \") |
| 183 | + echo "DISCUSS=$DISCUSS" |
| 184 | + export DISCUSS_THREAD=https://lists.apache.org/thread/$(curl "https://lists.apache.org/api/thread.lua?id=$DISCUSS&find_parent=true" | jq .thread.mid | tr -d \") |
| 185 | + echo "DISCUSS_THREAD=$DISCUSS_THREAD" |
| 186 | +
|
| 187 | + export RELEASE_NOTES=https://github.com/apache/pekko/pull/$(curl https://api.github.com/repos/apache/pekko/pulls?state=all | jq ".[] | .title, .number" | grep -A1 "Release notes for $VERSION" | tail -1) |
| 188 | + echo "RELEASE_NOTES=$RELEASE_NOTES" |
| 189 | +
|
| 190 | + export SENDER=$(curl "https://api.github.com/users/$ACTOR" | jq .name | tr -d \") |
| 191 | + echo "SENDER=$SENDER" |
| 192 | +
|
| 193 | + echo "This template can be used to start a vote, either via manual email or via https://release-test.apache.org/compose/pekko/$VERSION" |
| 194 | + echo |
| 195 | + cat <<EOF; |
| 196 | + Subject: [VOTE] Release Apache $MODULE $RC_VERSION |
| 197 | +
|
| 198 | + Hello Pekko Community, |
| 199 | +
|
| 200 | + This is a call for a vote to release Apache $MODULE version $RC_VERSION |
| 201 | +
|
| 202 | + The discussion thread: |
| 203 | + |
| 204 | + $DISCUSS_THREAD |
| 205 | + |
| 206 | + The release candidate: |
| 207 | + |
| 208 | + https://dist.apache.org/repos/dist/dev/pekko/$RC_VERSION |
| 209 | + https://release-test.apache.org/vote/pekko/$VERSION |
| 210 | + |
| 211 | + This release has been signed with a PGP key available here: |
| 212 | + |
| 213 | + https://downloads.apache.org/pekko/KEYS |
| 214 | + |
| 215 | + Release Notes: |
| 216 | + |
| 217 | + $RELEASE_NOTES |
| 218 | + |
| 219 | + Git branch for the release: |
| 220 | + |
| 221 | + https://github.com/apache/pekko/tree/v$RC_VERSION |
| 222 | + Git commit ID: $COMMIT_SHA |
| 223 | + |
| 224 | + Please download, verify, and test. |
| 225 | + |
| 226 | + We have also staged jars in the Apache Nexus Repository. These were built with the same code |
| 227 | + as appears in this Source Release Candidate. We would appreciate if users could test with these too. |
| 228 | + If anyone finds any serious problems with these jars, please also notify us on this thread. |
| 229 | + |
| 230 | + https://repository.apache.org/content/groups/staging/org/apache/pekko/ |
| 231 | + |
| 232 | + You can add this resolver to sbt with 'resolvers += Resolver.ApacheMavenStagingRepo' |
| 233 | + |
| 234 | + The VOTE will pass if we have more positive votes than negative votes |
| 235 | + and there must be a minimum of 3 approvals from Pekko PMC members. |
| 236 | + Anyone voting in favour of the release, could you please provide a list of the checks you have done? |
| 237 | + The vote will be left open until <insert date/time here>. |
| 238 | + |
| 239 | + [ ] +1 approve |
| 240 | + [ ] +0 no opinion |
| 241 | + [ ] -1 disapprove with the reason |
| 242 | + |
| 243 | + To learn more about Apache Pekko, please see https://pekko.apache.org/ |
| 244 | + |
| 245 | + Checklist for reference: |
| 246 | + |
| 247 | + [ ] Download links are valid. |
| 248 | + [ ] Checksums and signatures. |
| 249 | + [ ] LICENSE/NOTICE files exist |
| 250 | + [ ] No unexpected binary files |
| 251 | + [ ] All source files have ASF headers |
| 252 | + [ ] Can compile from source |
| 253 | + [ ] Can verify the binary build |
| 254 | + |
| 255 | + To compile from the source, please refer to: |
| 256 | + |
| 257 | + https://github.com/apache/pekko/blob/main/README.md#building-from-source |
| 258 | + |
| 259 | + To verify the binary build, please refer to: |
| 260 | + |
| 261 | + https://github.com/apache/pekko-site/wiki/Pekko-Release-Process#verifying-the-binary-build |
| 262 | + |
| 263 | + Some notes about verifying downloads can be found at: |
| 264 | + |
| 265 | + https://pekko.apache.org/download.html#verifying-downloads |
| 266 | + |
| 267 | + You can vote on ATR at https://release-test.apache.org/vote/pekko/$VERSION |
| 268 | + or manually by replying to this email. |
| 269 | +
|
| 270 | + |
| 271 | + Thanks, |
| 272 | + |
| 273 | + $SENDER (Apache Pekko PMC member) |
| 274 | + EOF |
| 275 | + env: |
| 276 | + REF: ${{ github.ref_name }} |
| 277 | + COMMIT_SHA: ${{ github.sha }} |
| 278 | + ACTOR: ${{ github.actor }} |
0 commit comments