forked from paritytech/polkadot-sdk
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Github Workflow migrations (paritytech#1574)
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 <[email protected]>
- Loading branch information
1 parent
9a111fd
commit 20eaad9
Showing
5 changed files
with
236 additions
and
1 deletion.
There are no files selected for viewing
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: Notify DevOps when burn-in label applied | ||
on: | ||
pull_request: | ||
types: [labeled] | ||
|
||
jobs: | ||
notify-devops: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
channel: | ||
- name: 'Team: DevOps' | ||
room: '!lUslSijLMgNcEKcAiE:parity.io' | ||
|
||
steps: | ||
- name: Send Matrix message to ${{ matrix.channel.name }} | ||
if: startsWith(github.event.label.name, 'A0-') | ||
uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3 | ||
with: | ||
room_id: ${{ matrix.channel.room }} | ||
access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }} | ||
server: m.parity.io | ||
message: | | ||
@room Burn-in request received for [${{ github.event.pull_request.title }}](${{ github.event.pull_request.html_url }}) |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
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/> |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
name: Release - Announce release to Matrix rooms | ||
on: | ||
release: | ||
types: | ||
- published | ||
- prereleased | ||
|
||
jobs: | ||
ping_matrix: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
channel: | ||
# Internal | ||
- name: 'RelEng: Cumulus Release Coordination' | ||
room: '!NAEMyPAHWOiOQHsvus:parity.io' | ||
pre-releases: true | ||
- name: "RelEng: Polkadot Release Coordination" | ||
room: '!cqAmzdIcbOFwrdrubV:parity.io' | ||
pre-release: true | ||
- name: 'General: Rust, Polkadot, Substrate' | ||
room: '!aJymqQYtCjjqImFLSb:parity.io' | ||
pre-release: false | ||
- name: 'Team: DevOps' | ||
room: '!lUslSijLMgNcEKcAiE:parity.io' | ||
pre-release: true | ||
|
||
# External | ||
- name: 'Ledger <> Polkadot Coordination' | ||
room: '!EoIhaKfGPmFOBrNSHT:web3.foundation' | ||
pre-release: true | ||
|
||
# Public | ||
# - name: '#KusamaValidatorLounge:polkadot.builders' | ||
# room: '!LhjZccBOqFNYKLdmbb:polkadot.builders' | ||
# pre-releases: false | ||
# - name: '#kusama-announcements:matrix.parity.io' | ||
# room: '!FMwxpQnYhRCNDRsYGI:matrix.parity.io' | ||
# pre-release: false | ||
# - name: '#polkadotvalidatorlounge:web3.foundation' | ||
# room: '!NZrbtteFeqYKCUGQtr:matrix.parity.io' | ||
# pre-release: false | ||
# - name: '#polkadot-announcements:matrix.parity.io' | ||
# room: '!UqHPWiCBGZWxrmYBkF:matrix.parity.io' | ||
# pre-release: false | ||
|
||
steps: | ||
- name: Matrix notification to ${{ matrix.channel.name }} | ||
if: github.event.release.prerelease == false || matrix.channel.pre-release | ||
uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3 | ||
with: | ||
room_id: ${{ matrix.channel.room }} | ||
access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }} | ||
server: m.parity.io | ||
message: | | ||
A (pre)release has been ${{github.event.action}} in **${{github.event.repository.full_name}}:**<br/> | ||
Release version: [${{github.event.release.tag_name}}](${{github.event.release.html_url}}) | ||
----- | ||
${{github.event.release.body}} |