ee389beb8c
- Add 72 rebrand workflow files (polkadot→pezkuwi, substrate→bizinikiwi, cumulus→pezcumulus) - Add GitHub actions, issue templates, and configs - Removed unnecessary workflows (fork-sync, gitspiegel, upstream-tracker, sync-templates, backport) - Renamed zombienet test files to match new naming convention
127 lines
4.3 KiB
YAML
127 lines
4.3 KiB
YAML
name: Release - Combined Builds Flow
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
chain:
|
|
description: The chain to use for runtime builds
|
|
default: all
|
|
required: true
|
|
type: choice
|
|
options:
|
|
- all
|
|
- zagros
|
|
- asset-hub-zagros
|
|
- bridge-hub-zagros
|
|
- collectives-zagros
|
|
- coretime-zagros
|
|
- glutton-zagros
|
|
- people-zagros
|
|
runtime_dir:
|
|
description: The runtime dir to be used (⚠️ this parameter is optional and needed only in case of the single runtime build, set it accordingly to the runtime you want to build)
|
|
default: pezkuwi/runtime/zagros
|
|
type: choice
|
|
options:
|
|
- pezkuwi/runtime/zagros
|
|
- pezcumulus/teyrchains/runtimes/assets/asset-hub-zagros
|
|
- pezcumulus/teyrchains/runtimes/bridge-hubs/bridge-hub-zagros
|
|
- pezcumulus/teyrchains/runtimes/collectives/collectives-zagros
|
|
- pezcumulus/teyrchains/runtimes/coretime/coretime-zagros
|
|
- pezcumulus/teyrchains/runtimes/people/people-zagros
|
|
- pezcumulus/teyrchains/runtimes/glutton/glutton-zagros
|
|
binary:
|
|
description: Binary to be built for the release candidate
|
|
default: all
|
|
type: choice
|
|
options:
|
|
- pezkuwi
|
|
- pezkuwi-teyrchain
|
|
- pezkuwi-omni-node
|
|
- pezframe-omni-bencher
|
|
- chain-spec-builder
|
|
- bizinikiwi-node
|
|
- eth-rpc
|
|
- pez-subkey
|
|
- all
|
|
release_tag:
|
|
description: Tag matching the actual release candidate with the format pezkuwi-stableYYMM(-X)-rcY or pezkuwi-stableYYMM(-X)
|
|
type: string
|
|
required: true
|
|
no_runtimes:
|
|
description: If true, no runtime build will be triggered and release draft will be published without runtimes (⚠️ use it for the patch releases of the latest stable)
|
|
required: true
|
|
type: boolean
|
|
default: false
|
|
|
|
jobs:
|
|
# DISABLED: Workflow synchronization check
|
|
# check-synchronization:
|
|
# uses: pezkuwichain-release/sync-workflows/.github/workflows/check-synchronization.yml@main
|
|
# secrets:
|
|
# fork_writer_app_key: ${{ secrets.UPSTREAM_CONTENT_SYNC_APP_KEY }}
|
|
|
|
validate-inputs:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
release_tag: ${{ steps.validate_inputs.outputs.release_tag }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
- name: Validate inputs
|
|
id: validate_inputs
|
|
run: |
|
|
. ./.github/scripts/common/lib.sh
|
|
|
|
RELEASE_TAG=$(validate_stable_tag ${{ inputs.release_tag }})
|
|
echo "release_tag=${RELEASE_TAG}" >> $GITHUB_OUTPUT
|
|
|
|
build-runtimes-flow:
|
|
if: ${{ inputs.no_runtimes == false }}
|
|
needs: [validate-inputs]
|
|
uses: "./.github/workflows/release-21_build-runtimes.yml"
|
|
with:
|
|
chain: ${{ inputs.chain }}
|
|
runtime_dir: ${{ inputs.runtime_dir }}
|
|
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
|
|
secrets: inherit
|
|
permissions:
|
|
id-token: write
|
|
attestations: write
|
|
contents: read
|
|
|
|
build-rc-flow:
|
|
needs: [validate-inputs]
|
|
uses: "./.github/workflows/release-20_build-rc.yml"
|
|
with:
|
|
binary: ${{ inputs.binary }}
|
|
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
|
|
secrets: inherit
|
|
permissions:
|
|
id-token: write
|
|
attestations: write
|
|
contents: read
|
|
|
|
trigger-release-draft-with-runtimes:
|
|
if: ${{ inputs.no_runtimes == false }}
|
|
needs: [build-runtimes-flow, build-rc-flow, validate-inputs]
|
|
uses: "./.github/workflows/release-30_publish_release_draft.yml"
|
|
with:
|
|
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
|
|
build_run_id: ${{ github.run_id }}
|
|
runtimes: '${{ needs.build-runtimes-flow.outputs.published_runtimes }}'
|
|
no_runtimes: ${{ inputs.no_runtimes }}
|
|
crates_only: false
|
|
secrets: inherit
|
|
|
|
trigger-release-draft-without-runtimes:
|
|
if: ${{ inputs.no_runtimes == true }}
|
|
needs: [build-rc-flow, validate-inputs]
|
|
uses: "./.github/workflows/release-30_publish_release_draft.yml"
|
|
with:
|
|
release_tag: ${{ needs.validate-inputs.outputs.release_tag }}
|
|
build_run_id: ${{ github.run_id }}
|
|
no_runtimes: ${{ inputs.no_runtimes }}
|
|
crates_only: false
|
|
secrets: inherit
|