Release - Publish draft #37
Workflow file for this run
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 version as a number | |
default: v1.9.0 | |
required: true | |
jobs: | |
get-rust-versions: | |
runs-on: ubuntu-latest | |
container: | |
image: paritytech/ci-unified:bullseye-1.75.0-2024-01-22-v20240109 | |
outputs: | |
rustc-stable: ${{ steps.get-rust-versions.outputs.stable }} | |
rustc-nightly: ${{ steps.get-rust-versions.outputs.nightly }} | |
steps: | |
- id: get-rust-versions | |
run: | | |
echo "stable=$(rustc +stable --version)" >> $GITHUB_OUTPUT | |
echo "nightly=$(rustc +nightly --version)" >> $GITHUB_OUTPUT | |
build-runtimes: | |
uses: "./.github/workflows/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" | |
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: 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 | |
tera --version | |
- name: Download artifacts | |
uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 | |
- name: Display structure of downloaded files | |
run: pwd; ls -la | |
- name: Prepare draft | |
id: draft | |
env: | |
VERSION: ${{ inputs.version }} | |
RUSTC_STABLE: ${{ needs.get-rust-versions.outputs.rustc-stable }} | |
RUSTC_NIGHTLY: ${{ needs.get-rust-versions.outputs.rustc-nightly }} | |
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: | | |
find ${{env.GITHUB_WORKSPACE}} -type f -name "*-srtool-digest.json" | |
ls -al $ASSET_HUB_ROCOCO_DIGEST | |
ls -al $ASSET_HUB_WESTEND_DIGEST | |
ls -al $BRIDGE_HUB_ROCOCO_DIGEST | |
ls -al $BRIDGE_HUB_WESTEND_DIGEST | |
ls -al $COLLECTIVES_WESTEND_DIGEST | |
. ./.github/scripts/common/lib.sh | |
export REF1=$(get_latest_release_tag) | |
export REF2=$VERSION | |
export VERSION=$(echo "$VERSION" | sed -E 's/^v([0-9]+\.[0-9]+\.[0-9]+).*$/\1/') | |
./scripts/release/build-changelogs.sh | |
echo "Checking the folder state" | |
pwd | |
ls -la scripts/release | |
- 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 }} | |
REF: ${{ inputs.version }} | |
with: | |
tag_name: ${{ env.REF }} | |
release_name: Polkadot ${{ env.REF}} | |
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.runtime.name }}_runtime-v${{ env.SPEC }}.compact.compressed.wasm | |
asset_content_type: application/wasm | |
# post_to_matrix: | |
# runs-on: ubuntu-latest | |
# needs: publish-release-draft | |
# 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 }}<br/> | |
# Draft release created: ${{ needs.publish-release-draft.outputs.release_url }} |