Skip to content

Commit 6f5f7ce

Browse files
[stable2412] Backport #6734 (#6750)
Backport #6734 into `stable2412`
1 parent 919663c commit 6f5f7ce

File tree

9 files changed

+373
-164
lines changed

9 files changed

+373
-164
lines changed

.github/scripts/common/lib.sh

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -270,20 +270,19 @@ fetch_debian_package_from_s3() {
270270
}
271271

272272
# Fetch the release artifacts like binary and signatures from S3. Assumes the ENV are set:
273-
# - RELEASE_ID
274-
# - GITHUB_TOKEN
275-
# - REPO in the form paritytech/polkadot
273+
# inputs: binary (polkadot), target(aarch64-apple-darwin)
276274
fetch_release_artifacts_from_s3() {
277275
BINARY=$1
278-
OUTPUT_DIR=${OUTPUT_DIR:-"./release-artifacts/${BINARY}"}
276+
TARGET=$2
277+
OUTPUT_DIR=${OUTPUT_DIR:-"./release-artifacts/${TARGET}/${BINARY}"}
279278
echo "OUTPUT_DIR : $OUTPUT_DIR"
280279

281280
URL_BASE=$(get_s3_url_base $BINARY)
282281
echo "URL_BASE=$URL_BASE"
283282

284-
URL_BINARY=$URL_BASE/$VERSION/$BINARY
285-
URL_SHA=$URL_BASE/$VERSION/$BINARY.sha256
286-
URL_ASC=$URL_BASE/$VERSION/$BINARY.asc
283+
URL_BINARY=$URL_BASE/$VERSION/$TARGET/$BINARY
284+
URL_SHA=$URL_BASE/$VERSION/$TARGET/$BINARY.sha256
285+
URL_ASC=$URL_BASE/$VERSION/$TARGET/$BINARY.asc
287286

288287
# Fetch artifacts
289288
mkdir -p "$OUTPUT_DIR"
@@ -306,15 +305,26 @@ fetch_release_artifacts_from_s3() {
306305
function get_s3_url_base() {
307306
name=$1
308307
case $name in
309-
polkadot | polkadot-execute-worker | polkadot-prepare-worker | staking-miner)
308+
polkadot | polkadot-execute-worker | polkadot-prepare-worker )
310309
printf "https://releases.parity.io/polkadot"
311310
;;
312311

313-
polkadot-parachain)
314-
printf "https://releases.parity.io/cumulus"
312+
polkadot-parachain)
313+
printf "https://releases.parity.io/polkadot-parachain"
314+
;;
315+
316+
polkadot-omni-node)
317+
printf "https://releases.parity.io/polkadot-omni-node"
318+
;;
319+
320+
chain-spec-builder)
321+
printf "https://releases.parity.io/chain-spec-builder"
315322
;;
316323

317-
*)
324+
frame-omni-bencher)
325+
printf "https://releases.parity.io/frame-omni-bencher"
326+
;;
327+
*)
318328
printf "UNSUPPORTED BINARY $name"
319329
exit 1
320330
;;
@@ -497,3 +507,16 @@ validate_stable_tag() {
497507
exit 1
498508
fi
499509
}
510+
511+
# Prepare docker stable tag form the polkadot stable tag
512+
# input: tag (polkaodot-stableYYMM(-X) or polkadot-stableYYMM(-X)-rcX)
513+
# output: stableYYMM(-X) or stableYYMM(-X)-rcX
514+
prepare_docker_stable_tag() {
515+
tag="$1"
516+
if [[ "$tag" =~ stable[0-9]{4}(-[0-9]+)?(-rc[0-9]+)? ]]; then
517+
echo "${BASH_REMATCH[0]}"
518+
else
519+
echo "Tag is invalid: $tag"
520+
exit 1
521+
fi
522+
}

.github/scripts/release/release_lib.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,3 +139,25 @@ upload_s3_release() {
139139
aws s3 ls "s3://releases.parity.io/${product}/${version}/${target}" --recursive --human-readable --summarize
140140
echo "✅ The release should be at https://releases.parity.io/${product}/${version}/${target}"
141141
}
142+
143+
# Upload runtimes artifacts to s3 release bucket
144+
#
145+
# input: version (stable release tage.g. polkadot-stable2412 or polkadot-stable2412-rc1)
146+
# output: none
147+
upload_s3_runtimes_release_artifacts() {
148+
alias aws='podman run --rm -it docker.io/paritytech/awscli -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_BUCKET aws'
149+
150+
version=$1
151+
152+
echo "Working on version: $version "
153+
154+
echo "Current content, should be empty on new uploads:"
155+
aws s3 ls "s3://releases.parity.io/polkadot/runtimes/${version}/" --recursive --human-readable --summarize || true
156+
echo "Content to be uploaded:"
157+
artifacts="artifacts/runtimes/"
158+
ls "$artifacts"
159+
aws s3 sync --acl public-read "$artifacts" "s3://releases.parity.io/polkadot/runtimes/${version}/"
160+
echo "Uploaded files:"
161+
aws s3 ls "s3://releases.parity.io/polkadot/runtimes/${version}/" --recursive --human-readable --summarize
162+
echo "✅ The release should be at https://releases.parity.io/polkadot/runtimes/${version}"
163+
}

.github/workflows/release-build-rc.yml renamed to .github/workflows/release-20_build-rc.yml

Lines changed: 93 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ on:
1111
- polkadot
1212
- polkadot-parachain
1313
- polkadot-omni-node
14+
- frame-omni-bencher
15+
- chain-spec-builder
1416
- all
1517

1618
release_tag:
17-
description: Tag matching the actual release candidate with the format stableYYMM-rcX or stableYYMM
19+
description: Tag matching the actual release candidate with the format polkadot-stableYYMM(-X)-rcX or polkadot-stableYYMM(-X)
1820
type: string
1921

2022
jobs:
@@ -106,6 +108,50 @@ jobs:
106108
attestations: write
107109
contents: read
108110

111+
build-frame-omni-bencher-binary:
112+
needs: [validate-inputs]
113+
if: ${{ inputs.binary == 'frame-omni-bencher' || inputs.binary == 'all' }}
114+
uses: "./.github/workflows/release-reusable-rc-buid.yml"
115+
with:
116+
binary: '["frame-omni-bencher"]'
117+
package: "frame-omni-bencher"
118+
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
119+
target: x86_64-unknown-linux-gnu
120+
secrets:
121+
PGP_KMS_KEY: ${{ secrets.PGP_KMS_KEY }}
122+
PGP_KMS_HASH: ${{ secrets.PGP_KMS_HASH }}
123+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
124+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
125+
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
126+
AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
127+
AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
128+
permissions:
129+
id-token: write
130+
attestations: write
131+
contents: read
132+
133+
build-chain-spec-builder-binary:
134+
needs: [validate-inputs]
135+
if: ${{ inputs.binary == 'chain-spec-builder' || inputs.binary == 'all' }}
136+
uses: "./.github/workflows/release-reusable-rc-buid.yml"
137+
with:
138+
binary: '["chain-spec-builder"]'
139+
package: staging-chain-spec-builder
140+
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
141+
target: x86_64-unknown-linux-gnu
142+
secrets:
143+
PGP_KMS_KEY: ${{ secrets.PGP_KMS_KEY }}
144+
PGP_KMS_HASH: ${{ secrets.PGP_KMS_HASH }}
145+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
146+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
147+
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
148+
AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
149+
AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
150+
permissions:
151+
id-token: write
152+
attestations: write
153+
contents: read
154+
109155
build-polkadot-macos-binary:
110156
needs: [validate-inputs]
111157
if: ${{ inputs.binary == 'polkadot' || inputs.binary == 'all' }}
@@ -134,7 +180,7 @@ jobs:
134180
uses: "./.github/workflows/release-reusable-rc-buid.yml"
135181
with:
136182
binary: '["polkadot-parachain"]'
137-
package: "polkadot-parachain-bin"
183+
package: polkadot-parachain-bin
138184
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
139185
target: aarch64-apple-darwin
140186
secrets:
@@ -156,7 +202,51 @@ jobs:
156202
uses: "./.github/workflows/release-reusable-rc-buid.yml"
157203
with:
158204
binary: '["polkadot-omni-node"]'
159-
package: "polkadot-omni-node"
205+
package: polkadot-omni-node
206+
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
207+
target: aarch64-apple-darwin
208+
secrets:
209+
PGP_KMS_KEY: ${{ secrets.PGP_KMS_KEY }}
210+
PGP_KMS_HASH: ${{ secrets.PGP_KMS_HASH }}
211+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
212+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
213+
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
214+
AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
215+
AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
216+
permissions:
217+
id-token: write
218+
attestations: write
219+
contents: read
220+
221+
build-frame-omni-bencher-macos-binary:
222+
needs: [validate-inputs]
223+
if: ${{ inputs.binary == 'frame-omni-bencher' || inputs.binary == 'all' }}
224+
uses: "./.github/workflows/release-reusable-rc-buid.yml"
225+
with:
226+
binary: '["frame-omni-bencher"]'
227+
package: frame-omni-bencher
228+
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
229+
target: aarch64-apple-darwin
230+
secrets:
231+
PGP_KMS_KEY: ${{ secrets.PGP_KMS_KEY }}
232+
PGP_KMS_HASH: ${{ secrets.PGP_KMS_HASH }}
233+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
234+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
235+
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
236+
AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
237+
AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
238+
permissions:
239+
id-token: write
240+
attestations: write
241+
contents: read
242+
243+
build-chain-spec-builder-macos-binary:
244+
needs: [validate-inputs]
245+
if: ${{ inputs.binary == 'chain-spec-builder' || inputs.binary == 'all' }}
246+
uses: "./.github/workflows/release-reusable-rc-buid.yml"
247+
with:
248+
binary: '["chain-spec-builder"]'
249+
package: staging-chain-spec-builder
160250
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
161251
target: aarch64-apple-darwin
162252
secrets:

0 commit comments

Comments
 (0)