@@ -20,8 +20,12 @@ name: Stage release candidate
2020on :
2121 workflow_dispatch :
2222 inputs :
23- source-tar :
24- description : " Stage the source tarball to svn"
23+ source-tar-to-svn :
24+ description : " Stage the source tarball to svn (old)"
25+ default : true
26+ type : boolean
27+ source-tar-to-atr :
28+ description : " Stage the source tarball to ATR (new)"
2529 default : true
2630 type : boolean
2731 jars :
4145 # Partly based on https://github.com/apache/daffodil/blob/main/.github/workflows/release-candidate.yml
4246 stage-release-candidate-to-svn :
4347 runs-on : ubuntu-24.04
44- if : ${{ inputs.source-tar }}
48+ if : ${{ inputs.source-tar-to-svn }}
4549 steps :
4650 - name : Check version parameter
4751 run : |-
@@ -110,6 +114,67 @@ jobs:
110114 PEKKO_SVN_DEV_PASSWORD : ${{ secrets.PEKKO_SVN_DEV_PASSWORD }}
111115 REF : ${{ github.ref_name }}
112116
117+ stage-release-candidate-to-atr :
118+ permissions :
119+ id-token : write
120+ contents : read
121+ runs-on : ubuntu-24.04
122+ if : ${{ inputs.source-tar-to-atr }}
123+ steps :
124+ - name : Check version parameter
125+ run : |-
126+ # To be enabled after this workflow has been tested:
127+ #if [[ "$REF" != "v"* ]]; then
128+ # echo "Trigger this workflow on a version tag"
129+ # exit 1
130+ #fi
131+ if [[ "$REF" != *"-RC"* ]]; then
132+ echo "Trigger this workflow on an RC tag"
133+ exit 1
134+ fi
135+ export VERSION=$(echo $REF | sed -e "s/.\(.*\)-.*/\\1/")
136+ export RC_VERSION=$(echo $REF | tail -c +2)
137+ echo "Version: $VERSION"
138+ echo "RC Version: $RC_VERSION"
139+ env :
140+ REF : ${{ github.ref_name }}
141+
142+ - name : Checkout
143+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v5.0.1
144+ with :
145+ fetch-depth : 0
146+ fetch-tags : true
147+ persist-credentials : false
148+
149+ - name : Generate source archive
150+ id : generate-source-archive
151+ run : |-
152+ VERSION=$(echo $REF | sed -e "s/.\(.*\)-.*/\\1/")
153+ echo "version=$VERSION" >> $GITHUB_OUTPUT
154+ PREFIX=apache-pekko-$VERSION
155+ DATE=$(git log -n1 --format=%cs | tr -d -)
156+ TARBALL=$PREFIX-src-$DATE.tgz
157+
158+ mkdir dist
159+ git archive --format=tar --prefix=$PREFIX/ HEAD | gzip -6 -n > dist/$TARBALL
160+ cd dist
161+ sha512sum $TARBALL > $TARBALL.sha512
162+ env :
163+ REF : ${{ github.ref_name }}
164+
165+ - name : Sign source archive
166+ run : |-
167+ echo "$PEKKO_GPG_SECRET_KEY" | gpg --batch --import --import-options import-show
168+ gpg -ab dist/*.tgz
169+ env :
170+ PEKKO_GPG_SECRET_KEY : ${{ secrets.PEKKO_GPG_SECRET_KEY }}
171+
172+ - name : Upload source dist
173+ uses : apache/tooling-actions/upload-to-atr@ca6ed9e095c40db61c42a90db2599bb2fbc2319f
174+ with :
175+ project : pekko
176+ version : ${{ steps.generate-source-archive.outputs.version }}
177+
113178 stage-jars-to-nexus :
114179 runs-on : ubuntu-24.04
115180 if : ${{ inputs.jars }}
@@ -244,7 +309,7 @@ jobs:
244309 The VOTE will pass if we have more positive votes than negative votes
245310 and there must be a minimum of 3 approvals from Pekko PMC members.
246311 Anyone voting in favour of the release, could you please provide a list of the checks you have done?
247- The vote will be left open for 72hrs.
312+ The vote will be left open for at least 72hrs.
248313
249314 [ ] +1 approve
250315 [ ] +0 no opinion
0 commit comments