diff --git a/.github/workflows/stage-release-candidate.yml b/.github/workflows/stage-release-candidate.yml index 749218f0e7..128ecd557f 100644 --- a/.github/workflows/stage-release-candidate.yml +++ b/.github/workflows/stage-release-candidate.yml @@ -35,24 +35,26 @@ jobs: 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 RC_VERSION=$(echo $REF | sed -e "s/refs\/tags\/\(.*\)/\\1/") echo "Version: $VERSION" + echo "RC: $RC_VERSION" env: REF: ${{ github.event.ref }} - 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 +67,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/refs\/tags\/\(.*\)-.*/\\1/") sbt "clean; set ThisBuild / version := \"$VERSION\"; sourceDistGenerate" + + - 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 + tag: "1.2.3" + release-dir: target/dist + release-notes: "MY RELEASE NOTES" + + - name: Upload source dist + run: |- + export RC_VERSION=$(echo $REF | sed -e "s/refs\/tags\/\(.*\)/\\1/") + + svn checkout https://dist.apache.org/repos/dist/dev/pekko dist + cd dist + mkdir $RC_VERSION + cp ../target/dist/* $RC_VERSION + svn add $RC_VERSION $RC_VERSION/* + svn commit --username $PEKKO_SVN_DEV_USERNAME --password $PEKKO_SVN_DEV_PASSWORD --message "Stage Pekko $RC_VERSION" $RC_VERSION + env: + PEKKO_SVN_DEV_USERNAME: ${{ secrets.PEKKO_SVN_DEV_USERNAME }} + PEKKO_SVN_DEV_PASSWORD: ${{ secrets.PEKKO_SVN_DEV_PASSWORD }}