Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/workflows/release-31_promote-rc-to-final.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ on:
description: Tag matching the actual release candidate with the format polkadot-stableYYMM(-X)-rcX
type: string
required: true
outputs:
final_tag:
description: "Final release tag without RC suffix (e.g., polkadot-stableYYMM)"
value: ${{ jobs.validate-inputs.outputs.final_tag }}


jobs:
Expand Down Expand Up @@ -57,6 +61,10 @@ jobs:
RELEASE_TAG=$(validate_stable_tag ${{ inputs.release_tag }})
echo "release_tag=${RELEASE_TAG}" >> $GITHUB_OUTPUT

# Calculate final tag by removing -rc suffix
FINAL_TAG="$(echo ${RELEASE_TAG} | sed 's/-rc[0-9]*$//')"
echo "final_tag=${FINAL_TAG}" >> $GITHUB_OUTPUT

promote-polkadot-rc-to-final:
if: ${{ inputs.binary == 'polkadot' || inputs.binary == 'all' }}
needs: [ validate-inputs ]
Expand All @@ -67,6 +75,7 @@ jobs:
with:
package: polkadot
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
final_tag: ${{ needs.validate-inputs.outputs.final_tag }}
target: ${{ matrix.target }}
secrets:
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
Expand All @@ -83,6 +92,7 @@ jobs:
with:
package: polkadot-parachain
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
final_tag: ${{ needs.validate-inputs.outputs.final_tag }}
target: ${{ matrix.target }}
secrets:
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
Expand All @@ -99,6 +109,7 @@ jobs:
with:
package: polkadot-omni-node
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
final_tag: ${{ needs.validate-inputs.outputs.final_tag }}
target: ${{ matrix.target }}
secrets:
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
Expand All @@ -115,6 +126,7 @@ jobs:
with:
package: frame-omni-bencher
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
final_tag: ${{ needs.validate-inputs.outputs.final_tag }}
target: ${{ matrix.target }}
secrets:
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
Expand All @@ -131,6 +143,7 @@ jobs:
with:
package: chain-spec-builder
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
final_tag: ${{ needs.validate-inputs.outputs.final_tag }}
target: ${{ matrix.target }}
secrets:
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
Expand Down
37 changes: 14 additions & 23 deletions .github/workflows/release-70_combined-publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,6 @@ on:
- frame-omni-bencher
- chain-spec-builder

image_type:
description: Type of Docker image (rc for release candidates, release for final)
required: true
default: rc
type: choice
options:
- rc
- release

distribution:
description: Distribution for Debian package (release, staging, stable2407, etc)
default: staging
Expand Down Expand Up @@ -86,7 +77,7 @@ jobs:
needs: [promote-rc-to-final]
uses: ./.github/workflows/release-40_publish-deb-package.yml
with:
tag: ${{ inputs.release_tag }}
tag: ${{ needs.promote-rc-to-final.outputs.final_tag }}
distribution: ${{ inputs.distribution }}
secrets: inherit

Expand All @@ -95,7 +86,7 @@ jobs:
needs: [promote-rc-to-final]
uses: ./.github/workflows/release-41_publish-rpm-package.yml
with:
tag: ${{ inputs.release_tag }}
tag: ${{ needs.promote-rc-to-final.outputs.final_tag }}
secrets: inherit

# ==============================================
Expand All @@ -104,59 +95,59 @@ jobs:
publish-docker-polkadot:
name: Publish Docker image - polkadot
# needs: [publish-deb-package, publish-rpm-package]
needs: [check-synchronization]
needs: [promote-rc-to-final]
if: ${{ inputs.binary == 'polkadot' || inputs.binary == 'all' }}
uses: ./.github/workflows/release-50_publish-docker.yml
with:
image_type: ${{ inputs.image_type }}
image_type: release
binary: polkadot
registry: ${{ inputs.registry }}
owner: ${{ inputs.owner }}
version: ${{ inputs.version }}
stable_tag: ${{ inputs.release_tag }}
stable_tag: ${{ needs.promote-rc-to-final.outputs.final_tag }}
secrets: inherit

publish-docker-polkadot-parachain:
name: Publish Docker image - polkadot-parachain
# needs: [publish-deb-package, publish-rpm-package]
needs: [check-synchronization]
needs: [promote-rc-to-final]
if: ${{ inputs.binary == 'polkadot-parachain' || inputs.binary == 'all' }}
uses: ./.github/workflows/release-50_publish-docker.yml
with:
image_type: ${{ inputs.image_type }}
image_type: release
binary: polkadot-parachain
registry: ${{ inputs.registry }}
owner: ${{ inputs.owner }}
version: ${{ inputs.version }}
stable_tag: ${{ inputs.release_tag }}
stable_tag: ${{ needs.promote-rc-to-final.outputs.final_tag }}
secrets: inherit

publish-docker-polkadot-omni-node:
name: Publish Docker image - polkadot-omni-node
# needs: [publish-deb-package, publish-rpm-package]
needs: [check-synchronization]
needs: [promote-rc-to-final]
if: ${{ inputs.binary == 'polkadot-omni-node' || inputs.binary == 'all' }}
uses: ./.github/workflows/release-50_publish-docker.yml
with:
image_type: ${{ inputs.image_type }}
image_type: release
binary: polkadot-omni-node
registry: ${{ inputs.registry }}
owner: ${{ inputs.owner }}
version: ${{ inputs.version }}
stable_tag: ${{ inputs.release_tag }}
stable_tag: ${{ needs.promote-rc-to-final.outputs.final_tag }}
secrets: inherit

publish-docker-chain-spec-builder:
name: Publish Docker image - chain-spec-builder
# needs: [publish-deb-package, publish-rpm-package]
needs: [check-synchronization]
needs: [promote-rc-to-final]
if: ${{ inputs.binary == 'chain-spec-builder' || inputs.binary == 'all' }}
uses: ./.github/workflows/release-50_publish-docker.yml
with:
image_type: ${{ inputs.image_type }}
image_type: release
binary: chain-spec-builder
registry: ${{ inputs.registry }}
owner: ${{ inputs.owner }}
version: ${{ inputs.version }}
stable_tag: ${{ inputs.release_tag }}
stable_tag: ${{ needs.promote-rc-to-final.outputs.final_tag }}
secrets: inherit
18 changes: 8 additions & 10 deletions .github/workflows/release-reusable-promote-to-final.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ on:
required: true
type: string

final_tag:
description: Final release tag without RC suffix (e.g., polkadot-stableYYMM)
required: true
type: string

target:
description: Target triple for which the artifacts are being uploaded (e.g aarch64-apple-darwin)
required: true
Expand All @@ -36,21 +41,14 @@ jobs:
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
AWS_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
RELEASE_TAG: ${{ inputs.release_tag }}
FINAL_TAG: ${{ inputs.final_tag }}
PACKAGE: ${{ inputs.package }}
TARGET: ${{ inputs.target }}

steps:
- name: Checkout sources
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Prepare final tag
id: prepare_final_tag
shell: bash
run: |
tag="$(echo $RELEASE_TAG | sed 's/-rc[0-9]*$//')"
echo $tag
echo "FINAL_TAG=${tag}" >> $GITHUB_OUTPUT

- name: Fetch binaries from s3 based on version
run: |
. ./.github/scripts/common/lib.sh
Expand Down Expand Up @@ -84,8 +82,8 @@ jobs:
if [[ "$PACKAGE" == 'polkadot' ]]; then
packages=(polkadot polkadot-prepare-worker polkadot-execute-worker)
for package in "${packages[@]}"; do
upload_s3_release $package ${{ steps.prepare_final_tag.outputs.final_tag }} ${{ inputs.target }}
upload_s3_release $package "$FINAL_TAG" ${{ inputs.target }}
done
else
upload_s3_release "$PACKAGE" ${{ steps.prepare_final_tag.outputs.final_tag }} "$TARGET"
upload_s3_release "$PACKAGE" "$FINAL_TAG" "$TARGET"
fi
Loading