Merge remote-tracking branch 'origin/mku-fork-aware-tx-pool' into tan… #1
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 - Publish draft | ||
on: | ||
push: | ||
tags: | ||
# Catches v1.2.3 and v1.2.3-rc1 | ||
- v[0-9]+.[0-9]+.[0-9]+* | ||
workflow_dispatch: | ||
inputs: | ||
version: | ||
description: Current release/rc version | ||
jobs: | ||
get-rust-versions: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
rustc-stable: ${{ steps.get-rust-versions.outputs.stable }} | ||
steps: | ||
- id: get-rust-versions | ||
run: | | ||
RUST_STABLE_VERSION=$(curl -sS https://raw.githubusercontent.com/paritytech/scripts/master/dockerfiles/ci-unified/Dockerfile | grep -oP 'ARG RUST_STABLE_VERSION=\K[^ ]+') | ||
echo "stable=$RUST_STABLE_VERSION" >> $GITHUB_OUTPUT | ||
build-runtimes: | ||
uses: "./.github/workflows/release-srtool.yml" | ||
with: | ||
excluded_runtimes: "substrate-test bp cumulus-test kitchensink minimal-template parachain-template penpal polkadot-test seedling shell frame-try sp solochain-template" | ||
build-binaries: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
binary: [ frame-omni-bencher, chain-spec-builder ] | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 | ||
- name: Install protobuf-compiler | ||
run: | | ||
sudo apt update | ||
sudo apt install -y protobuf-compiler | ||
- name: Build ${{ matrix.binary }} binary | ||
run: | | ||
if [[ ${{ matrix.binary }} =~ chain-spec-builder ]]; then | ||
cargo build --locked --profile=production -p staging-${{ matrix.binary }} --bin ${{ matrix.binary }} | ||
target/production/${{ matrix.binary }} -h | ||
else | ||
cargo build --locked --profile=production -p ${{ matrix.binary }} | ||
target/production/${{ matrix.binary }} --version | ||
fi | ||
- name: Upload ${{ matrix.binary }} binary | ||
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 | ||
with: | ||
name: ${{ matrix.binary }} | ||
path: target/production/${{ matrix.binary }} | ||
publish-release-draft: | ||
runs-on: ubuntu-latest | ||
needs: [ get-rust-versions, build-runtimes ] | ||
outputs: | ||
release_url: ${{ steps.create-release.outputs.html_url }} | ||
asset_upload_url: ${{ steps.create-release.outputs.upload_url }} | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 | ||
- name: Download artifacts | ||
uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 | ||
- name: Prepare tooling | ||
run: | | ||
URL=https://github.com/chevdor/tera-cli/releases/download/v0.2.4/tera-cli_linux_amd64.deb | ||
wget $URL -O tera.deb | ||
sudo dpkg -i tera.deb | ||
- name: Prepare draft | ||
id: draft | ||
env: | ||
RUSTC_STABLE: ${{ needs.get-rust-versions.outputs.rustc-stable }} | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
ASSET_HUB_ROCOCO_DIGEST: ${{ github.workspace}}/asset-hub-rococo-runtime/asset-hub-rococo-srtool-digest.json | ||
ASSET_HUB_WESTEND_DIGEST: ${{ github.workspace}}/asset-hub-westend-runtime/asset-hub-westend-srtool-digest.json | ||
BRIDGE_HUB_ROCOCO_DIGEST: ${{ github.workspace}}/bridge-hub-rococo-runtime/bridge-hub-rococo-srtool-digest.json | ||
BRIDGE_HUB_WESTEND_DIGEST: ${{ github.workspace}}/bridge-hub-westend-runtime/bridge-hub-westend-srtool-digest.json | ||
COLLECTIVES_WESTEND_DIGEST: ${{ github.workspace}}/collectives-westend-runtime/collectives-westend-srtool-digest.json | ||
CONTRACTS_ROCOCO_DIGEST: ${{ github.workspace}}/contracts-rococo-runtime/contracts-rococo-srtool-digest.json | ||
CORETIME_ROCOCO_DIGEST: ${{ github.workspace}}/coretime-rococo-runtime/coretime-rococo-srtool-digest.json | ||
CORETIME_WESTEND_DIGEST: ${{ github.workspace}}/coretime-westend-runtime/coretime-westend-srtool-digest.json | ||
GLUTTON_WESTEND_DIGEST: ${{ github.workspace}}/glutton-westend-runtime/glutton-westend-srtool-digest.json | ||
PEOPLE_ROCOCO_DIGEST: ${{ github.workspace}}/people-rococo-runtime/people-rococo-srtool-digest.json | ||
PEOPLE_WESTEND_DIGEST: ${{ github.workspace}}/people-westend-runtime/people-westend-srtool-digest.json | ||
ROCOCO_DIGEST: ${{ github.workspace}}/rococo-runtime/rococo-srtool-digest.json | ||
WESTEND_DIGEST: ${{ github.workspace}}/westend-runtime/westend-srtool-digest.json | ||
run: | | ||
. ./.github/scripts/common/lib.sh | ||
export REF1=$(get_latest_release_tag) | ||
if [[ -z "${{ inputs.version }}" ]]; then | ||
export REF2="${{ github.ref_name }}" | ||
else | ||
export REF2="${{ inputs.version }}" | ||
fi | ||
echo "REL_TAG=$REF2" >> $GITHUB_ENV | ||
export VERSION=$(echo "$REF2" | sed -E 's/^v([0-9]+\.[0-9]+\.[0-9]+).*$/\1/') | ||
./scripts/release/build-changelogs.sh | ||
- name: Archive artifact context.json | ||
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 | ||
with: | ||
name: release-notes-context | ||
path: | | ||
scripts/release/context.json | ||
**/*-srtool-digest.json | ||
- name: Create draft release | ||
id: create-release | ||
uses: actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e # v1.1.4 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: ${{ env.REL_TAG }} | ||
release_name: Polkadot ${{ env.REL_TAG }} | ||
body_path: ${{ github.workspace}}/scripts/release/RELEASE_DRAFT.md | ||
draft: true | ||
publish-runtimes: | ||
needs: [ build-runtimes, publish-release-draft ] | ||
continue-on-error: true | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: ${{ fromJSON(needs.build-runtimes.outputs.published_runtimes) }} | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 | ||
- name: Download artifacts | ||
uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 | ||
- name: Get runtime info | ||
env: | ||
JSON: release-notes-context/${{ matrix.chain }}-runtime/${{ matrix.chain }}-srtool-digest.json | ||
run: | | ||
>>$GITHUB_ENV echo ASSET=$(find ${{ matrix.chain }}-runtime -name '*.compact.compressed.wasm') | ||
>>$GITHUB_ENV echo SPEC=$(<${JSON} jq -r .runtimes.compact.subwasm.core_version.specVersion) | ||
- name: Upload compressed ${{ matrix.chain }} v${{ env.SPEC }} wasm | ||
if: ${{ matrix.chain != 'rococo-parachain' }} | ||
uses: actions/upload-release-asset@e8f9f06c4b078e705bd2ea027f0926603fc9b4d5 #v1.0.2 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ needs.publish-release-draft.outputs.asset_upload_url }} | ||
asset_path: ${{ env.ASSET }} | ||
asset_name: ${{ matrix.chain }}_runtime-v${{ env.SPEC }}.compact.compressed.wasm | ||
asset_content_type: application/wasm | ||
publish-binaries: | ||
needs: [ publish-release-draft, build-binaries ] | ||
continue-on-error: true | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
binary: [frame-omni-bencher, chain-spec-builder] | ||
steps: | ||
- name: Download artifacts | ||
uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 | ||
with: | ||
name: ${{ matrix.binary }} | ||
- name: Upload ${{ matrix.binary }} binary | ||
uses: actions/upload-release-asset@e8f9f06c4b078e705bd2ea027f0926603fc9b4d5 #v1.0.2 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ needs.publish-release-draft.outputs.asset_upload_url }} | ||
asset_path: ${{ github.workspace}}/${{ matrix.binary }} | ||
asset_name: ${{ matrix.binary }} | ||
asset_content_type: application/octet-stream | ||
post_to_matrix: | ||
environment: release | ||
runs-on: ubuntu-latest | ||
needs: publish-release-draft | ||
environment: release | ||
strategy: | ||
matrix: | ||
channel: | ||
- name: "Team: RelEng Internal" | ||
room: '!GvAyzgCDgaVrvibaAF:parity.io' | ||
steps: | ||
- name: Send Matrix message to ${{ matrix.channel.name }} | ||
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: | | ||
**New version of polkadot tagged**: ${{ github.ref_name }}<br/> | ||
Draft release created: ${{ needs.publish-release-draft.outputs.release_url }} |