Staking ledger bonding fixes (#3639) #34
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release - RC automation | |
on: | |
push: | |
branches: | |
# Catches release-polkadot-v1.2.3, release-v1.2.3-rc1, etc | |
- release-v[0-9]+.[0-9]+.[0-9]+* | |
- release-cumulus-v[0-9]+* | |
- release-polkadot-v[0-9]+* | |
workflow_dispatch: | |
jobs: | |
tag_rc: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
channel: | |
- name: "RelEng: Polkadot Release Coordination" | |
room: '!cqAmzdIcbOFwrdrubV:parity.io' | |
environment: release | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
fetch-depth: 0 | |
- name: Get release product | |
id: get_rel_product | |
shell: bash | |
run: | | |
current_branch=$(git branch --show-current) | |
echo "Current branch: $current_branch" | |
if [[ "$current_branch" =~ "release-polkadot" ]]; then | |
echo "product=polkadot" >> $GITHUB_OUTPUT | |
elif [[ "$current_branch" =~ "release-cumulus" ]]; then | |
echo "product=polkadot-parachain" >> $GITHUB_OUTPUT | |
fi | |
- name: Compute next rc tag for polkadot | |
if: ${{ steps.get_rel_product.outputs.product == 'polkadot' }} | |
id: compute_tag_polkadot | |
shell: bash | |
run: | | |
. ./.github/scripts/common/lib.sh | |
# Get last rc tag if exists, else set it to {version}-rc1 | |
version=$(get_version_from_ghref ${GITHUB_REF}) | |
echo "$version" | |
echo "version=$version" >> $GITHUB_OUTPUT | |
last_rc=$(get_latest_rc_tag $version polkadot) | |
if [ -n "$last_rc" ]; then | |
suffix=$(increment_rc_tag $last_rc) | |
echo "new_tag=$version-rc$suffix" >> $GITHUB_OUTPUT | |
echo "first_rc=false" >> $GITHUB_OUTPUT | |
else | |
echo "new_tag=$version-rc1" >> $GITHUB_OUTPUT | |
echo "first_rc=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Compute next rc tag for polkadot-parachain | |
if: ${{ steps.get_rel_product.outputs.product == 'polkadot-parachain' }} | |
id: compute_tag_cumulus | |
shell: bash | |
run: | | |
. ./.github/scripts/common/lib.sh | |
# Get last rc tag if exists, else set it to polkadot-parachains-{version}-rc1 | |
version=$(get_version_from_ghref ${GITHUB_REF}) | |
echo "$version" | |
echo "version=$version" >> $GITHUB_OUTPUT | |
last_rc=$(get_latest_rc_tag $version polkadot-parachain) | |
if [ -n "$last_rc" ]; then | |
suffix=$(increment_rc_tag $last_rc) | |
echo "new_tag=polkadot-parachains-$version-rc$suffix" >> $GITHUB_OUTPUT | |
echo "first_rc=false" >> $GITHUB_OUTPUT | |
else | |
echo "new_tag=polkadot-parachain-$version-rc1" >> $GITHUB_OUTPUT | |
echo "first_rc=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Apply new tag | |
uses: tvdias/github-tagger@ed7350546e3e503b5e942dffd65bc8751a95e49d # v0.0.2 | |
with: | |
# We can't use the normal GITHUB_TOKEN for the following reason: | |
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token | |
# RELEASE_BRANCH_TOKEN requires public_repo OAuth scope | |
repo-token: "${{ secrets.RELEASE_BRANCH_TOKEN }}" | |
tag: ${{ steps.compute_tag_polkadot.outputs.new_tag || steps.compute_tag_cumulus.outputs.new_tag }} | |
# - id: create-issue | |
# uses: JasonEtco/create-an-issue@e27dddc79c92bc6e4562f268fffa5ed752639abd # v2.9.1 | |
# # Only create the issue if it's the first release candidate | |
# if: steps.compute_tag.outputs.first_rc == 'true' | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# VERSION: ${{ steps.compute_tag.outputs.version }} | |
# with: | |
# filename: .github/ISSUE_TEMPLATE/release.md | |
- name: Send Matrix message to ${{ matrix.channel.name }} | |
uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3 | |
# if: steps.create-issue.outputs.url != '' | |
with: | |
room_id: ${{ matrix.channel.room }} | |
access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }} | |
server: m.parity.io | |
message: | | |
Release process for polkadot ${{ steps.compute_tag_polkadot.outputs.new_tag || steps.compute_tag_cumulus.outputs.new_tag }} has been started.<br/> |