Skip to content

refactor(axelar-std-derive): simplify upgradable macro #189

refactor(axelar-std-derive): simplify upgradable macro

refactor(axelar-std-derive): simplify upgradable macro #189

Workflow file for this run

# This workflow creates a github release using release-plz, and publishes it as a rust crates and also create the necessary artifacts (wasm).
# It's triggered once a release PR (created by the create-release-pr workflow) gets merged to other release branches.
name: Release
on:
# Once the PR gets merged to `main` or other `releases` branches
pull_request:
branches:
- main
- "releases/**"
types: [closed]
workflow_dispatch:
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
# Publishes a release in case the release isn't published
publish-release:
name: Publish releases
# Add checks to see if the merged PR is a release.
if: |
((github.event.pull_request.merged == true) &&
contains(github.event.pull_request.labels.*.name, 'release'))
runs-on: blacksmith-2vcpu-ubuntu-2204
outputs:
releases: ${{ steps.prepare-matrix.outputs.releases }}
commit_hash: ${{ steps.get-commit-hash.outputs.hash }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.PAT_TOKEN }}
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Get commit hash
id: get-commit-hash
run: echo "hash=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
# Creates git tags and publishes the crates of the new releases
- name: Publish release
id: publish-release
uses: MarcoIeni/release-plz-action@fff938ea2923fdfa35797fff63537b00f30fe6f9 # v0.5.82
with:
command: release
version: "0.3.105"
env:
CARGO_NET_GIT_FETCH_WITH_CLI: true
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
- name: Prepare JSON output to be a matrix GHA format
id: prepare-matrix
run: |
echo "releases=$(echo '${{ steps.publish-release.outputs.releases }}' | jq -c '.')" >> $GITHUB_OUTPUT
build:
needs: publish-release
uses: ./.github/workflows/reusable-build.yaml
with:
commit-hash: ${{ needs.publish-release.outputs.commit_hash }}
upload:
needs: [publish-release, build]
strategy:
matrix:
releases: ${{ fromJson(needs.publish-release.outputs.releases) }}
uses: ./.github/workflows/reusable-upload.yaml
permissions:
id-token: write
contents: read
with:
package-name: ${{ matrix.releases.package_name }}
package-version: ${{ matrix.releases.version }}
package-git-tag: ${{ matrix.releases.tag }}
artifact-name: ${{ needs.build.outputs.artifact-name }}
artifact-path: ${{ needs.build.outputs.artifact-path }}
cf-bucket-name: ${{ vars.CF_BUCKET_NAME }}
cf-config-bucket-root-key: ${{ vars.CF_BUCKET_ROOT_KEY }}
github-release: true
secrets:
github-token: ${{ secrets.PAT_TOKEN }}
cf-endpoint-url: ${{ secrets.CF_ENDPOINT_URL }}
cf-bucket-access-key-id: ${{ secrets.CF_BUCKET_ACCESS_KEY_ID }}
cf-bucket-secret-access-key: ${{ secrets.CF_BUCKET_SECRET_ACCESS_KEY }}