mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-12 18:05:48 +00:00
20eaad9d48
During the monorepo merge, the Github workflows for subtrate, polkadot and cumulus were imported in various sub folders. This PR merges and fixes some of those workflows and brings them back to the root to make them available again. --------- Co-authored-by: Egor_P <egor@parity.io>
113 lines
4.3 KiB
YAML
113 lines
4.3 KiB
YAML
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'
|
|
|
|
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/>
|