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
92 lines
3.1 KiB
YAML
92 lines
3.1 KiB
YAML
name: Promote rc to final
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
package:
|
|
description: Package to be promoted
|
|
required: true
|
|
type: string
|
|
|
|
release_tag:
|
|
description: Tag matching the actual release candidate with the format pezkuwi-stableYYMM(-X)-rcX that will be changed to final in form of pezkuwi-stableYYMM(-X)
|
|
required: true
|
|
type: string
|
|
|
|
target:
|
|
description: Target triple for which the artifacts are being uploaded (e.g aarch64-apple-darwin)
|
|
required: true
|
|
type: string
|
|
|
|
secrets:
|
|
AWS_DEFAULT_REGION:
|
|
required: true
|
|
AWS_RELEASE_ACCESS_KEY_ID:
|
|
required: true
|
|
AWS_RELEASE_SECRET_ACCESS_KEY:
|
|
required: true
|
|
|
|
jobs:
|
|
|
|
promote-release-artifacts:
|
|
environment: release
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_RELEASE_ACCESS_KEY_ID }}
|
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_RELEASE_SECRET_ACCESS_KEY }}
|
|
AWS_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
|
|
RELEASE_TAG: ${{ inputs.release_tag }}
|
|
PACKAGE: ${{ inputs.package }}
|
|
TARGET: ${{ inputs.target }}
|
|
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
- name: Prepare final tag
|
|
id: prepare_final_tag
|
|
shell: bash
|
|
run: |
|
|
tag="$(echo $RELEASE_TAG | sed 's/-rc[0-9]*$//')"
|
|
echo $tag
|
|
echo "FINAL_TAG=${tag}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Fetch binaries from s3 based on version
|
|
run: |
|
|
. ./.github/scripts/common/lib.sh
|
|
|
|
VERSION="$RELEASE_TAG"
|
|
if [[ "$PACKAGE" == 'pezkuwi' ]]; then
|
|
packages=(pezkuwi pezkuwi-prepare-worker pezkuwi-execute-worker)
|
|
for package in "${packages[@]}"; do
|
|
OUTPUT_DIR="./release-artifacts/$TARGET/${package}"
|
|
fetch_release_artifacts_from_s3 "$package" "$TARGET"
|
|
done
|
|
NODE_VERSION="$(get_pezkuwi_node_version_from_code)"
|
|
|
|
fetch_debian_package_from_s3 pezkuwi
|
|
fetch_rpm_package_from_s3 pezkuwi
|
|
else
|
|
fetch_release_artifacts_from_s3 "$PACKAGE" "$TARGET"
|
|
fi
|
|
|
|
- name: Configure AWS Credentials
|
|
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
|
|
with:
|
|
aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }}
|
|
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
|
|
aws-region: ${{ env.AWS_REGION }}
|
|
|
|
- name: Upload ${{ inputs.package }} ${{ inputs.target }} artifacts to s3
|
|
run: |
|
|
. ./.github/scripts/release/release_lib.sh
|
|
|
|
if [[ "$PACKAGE" == 'pezkuwi' ]]; then
|
|
packages=(pezkuwi pezkuwi-prepare-worker pezkuwi-execute-worker)
|
|
for package in "${packages[@]}"; do
|
|
upload_s3_release $package ${{ steps.prepare_final_tag.outputs.final_tag }} ${{ inputs.target }}
|
|
done
|
|
else
|
|
upload_s3_release "$PACKAGE" ${{ steps.prepare_final_tag.outputs.final_tag }} "$TARGET"
|
|
fi
|