diff --git a/.github/workflows/stage-release-candidate.yml b/.github/workflows/stage-release-candidate.yml index 749218f0e7..f2330fd17d 100644 --- a/.github/workflows/stage-release-candidate.yml +++ b/.github/workflows/stage-release-candidate.yml @@ -31,28 +31,25 @@ jobs: steps: - name: Check version parameter run: |- - if [[ "$REF" != "refs/tags/"* ]]; then - echo "Trigger this workflow on a tag" - exit 1 - fi - if [[ "$REF" == *"-RC"* ]]; then + if [[ "$REF" != *"-RC"* ]]; then echo "Trigger this workflow on an RC tag" exit 1 fi - export VERSION=$(echo $REF | sed -e "s/refs\/tags\/\(.*\)-.*/\\1/") + export VERSION=$(echo $REF | sed -e "s/\(.*\)-.*/\\1/") echo "Version: $VERSION" + echo "RC: $REF" env: - REF: ${{ github.event.ref }} + REF: ${{ github.ref_name }} - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: fetch-depth: 0 fetch-tags: true persist-credentials: false - name: Setup Java 17 - uses: actions/setup-java@v5 + uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 with: distribution: temurin java-version: 17 @@ -65,6 +62,38 @@ jobs: # We intentionally postpone the signing to a separate step, to reduce # attack surface + - name: Generate source dist run: |- + export VERSION=$(echo $REF | sed -e "s/\(.*\)-.*/\\1/") sbt "clean; set ThisBuild / version := \"$VERSION\"; sourceDistGenerate" + env: + REF: ${{ github.ref_name }} + + - name: Sign source dist + run: |- + echo $PEKKO_GPG_SECRET_KEY | base64 -d | gpg --batch --import --import-options import-show + gpg -ab target/dist/* + env: + PEKKO_GPG_SECRET_KEY: ${{ secrets.PEKKO_GPG_SECRET_KEY }} + + - uses: actions/forgejo-release@v2.7.2 + with: + direction: upload + url: https://forge.engelen.eu + repo: raboof/pekko + release-dir: target/dist + release-notes: "MY RELEASE NOTES" + + - name: Upload source dist + run: |- + svn checkout https://dist.apache.org/repos/dist/dev/pekko dist + cd dist + mkdir $REF + cp ../target/dist/* $REF + svn add $REF $REF/* + svn commit --username $PEKKO_SVN_DEV_USERNAME --password $PEKKO_SVN_DEV_PASSWORD --message "Stage Pekko $REF" $REF + env: + PEKKO_SVN_DEV_USERNAME: ${{ secrets.PEKKO_SVN_DEV_USERNAME }} + PEKKO_SVN_DEV_PASSWORD: ${{ secrets.PEKKO_SVN_DEV_PASSWORD }} + REF: ${{ github.ref_name }}