name: Release - Promote RC to final candidate on S3 on: workflow_dispatch: inputs: binary: description: Binary to be build for the release default: all type: choice options: - pezkuwi - pezkuwi-teyrchain - pezkuwi-omni-node - pezframe-omni-bencher - chain-spec-builder - all release_tag: description: Tag matching the actual release candidate with the format pezkuwi-stableYYMM(-X)-rcX type: string workflow_call: inputs: binary: description: Binary to be build for the release default: all type: string release_tag: description: Tag matching the actual release candidate with the format pezkuwi-stableYYMM(-X)-rcX type: string required: true 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 }} final_tag: ${{ steps.validate_inputs.outputs.final_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 promote-pezkuwi-rc-to-final: if: ${{ inputs.binary == 'pezkuwi' || inputs.binary == 'all' }} needs: [ validate-inputs ] uses: ./.github/workflows/release-reusable-promote-to-final.yml strategy: matrix: target: [ x86_64-unknown-linux-gnu, aarch64-apple-darwin ] with: package: pezkuwi release_tag: ${{ needs.validate-inputs.outputs.release_tag }} target: ${{ matrix.target }} secrets: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }} AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }} promote-pezkuwi-teyrchain-rc-to-final: if: ${{ inputs.binary == 'pezkuwi-teyrchain' || inputs.binary == 'all' }} needs: [ validate-inputs ] uses: ./.github/workflows/release-reusable-promote-to-final.yml strategy: matrix: target: [ x86_64-unknown-linux-gnu, aarch64-apple-darwin ] with: package: pezkuwi-teyrchain release_tag: ${{ needs.validate-inputs.outputs.release_tag }} target: ${{ matrix.target }} secrets: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }} AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }} promote-pezkuwi-omni-node-rc-to-final: if: ${{ inputs.binary == 'pezkuwi-omni-node' || inputs.binary == 'all' }} needs: [ validate-inputs ] uses: ./.github/workflows/release-reusable-promote-to-final.yml strategy: matrix: target: [ x86_64-unknown-linux-gnu, aarch64-apple-darwin ] with: package: pezkuwi-omni-node release_tag: ${{ needs.validate-inputs.outputs.release_tag }} target: ${{ matrix.target }} secrets: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }} AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }} promote-pezframe-omni-bencher-rc-to-final: if: ${{ inputs.binary == 'pezframe-omni-bencher' || inputs.binary == 'all' }} needs: [ validate-inputs ] uses: ./.github/workflows/release-reusable-promote-to-final.yml strategy: matrix: target: [ x86_64-unknown-linux-gnu, aarch64-apple-darwin ] with: package: pezframe-omni-bencher release_tag: ${{ needs.validate-inputs.outputs.release_tag }} target: ${{ matrix.target }} secrets: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }} AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }} promote-chain-spec-builder-rc-to-final: if: ${{ inputs.binary == 'chain-spec-builder' || inputs.binary == 'all' }} needs: [ validate-inputs ] uses: ./.github/workflows/release-reusable-promote-to-final.yml strategy: matrix: target: [ x86_64-unknown-linux-gnu, aarch64-apple-darwin ] with: package: chain-spec-builder release_tag: ${{ needs.validate-inputs.outputs.release_tag }} target: ${{ matrix.target }} secrets: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} AWS_RELEASE_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }} AWS_RELEASE_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}