From eeaf7191e6daa8e0b6c2576bdc7285f817f36105 Mon Sep 17 00:00:00 2001 From: Skylar Simoncelli <skylar@skylar.email> Date: Wed, 18 Sep 2024 11:53:12 +0300 Subject: [PATCH] feat: more modules --- .github/workflows/cicd.yml | 199 ++---------------- .../modules/build-and-publish-ecr-image.yml | 53 +++++ ...pc-artifact.yml => build-pc-artifacts.yml} | 44 ++-- .../modules/download-pcsc-artifact.yml | 20 ++ .../modules/local-environment-tests.yml | 12 +- .../workflows/modules/release-pc-artifact.yml | 12 +- 6 files changed, 130 insertions(+), 210 deletions(-) create mode 100644 .github/workflows/modules/build-and-publish-ecr-image.yml rename .github/workflows/modules/{build-pc-artifact.yml => build-pc-artifacts.yml} (84%) create mode 100644 .github/workflows/modules/download-pcsc-artifact.yml diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index a1a430852..03e691be3 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -3,9 +3,9 @@ name: Build, test, release and deploy on: workflow_dispatch: inputs: - partner-chains-sha: + sha: description: "partner-chains commit SHA or branch to build from" - partner-chains-tag: + tag: description: "partner-chains release tag" required: true @@ -14,187 +14,28 @@ env: SSH_AUTH_SOCK: /tmp/ssh_agent.sock jobs: - partner-chains-linux: - runs-on: ubuntu-latest - steps: - - name: Set filename variables - id: set-filenames - run: | - echo "PARTNER_CHAINS_CLI_X86_64_LINUX=partner-chains-cli-${{ inputs.tag }}-x86_64-linux" >> $GITHUB_ENV - echo "PARTNER_CHAINS_NODE_X86_64_LINUX=partner-chains-node-${{ inputs.tag }}-x86_64-linux" >> $GITHUB_ENV - - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ inputs.sha }} - - - name: Acquire AWS credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN_SECRET }} - aws-region: ${{ env.AWS_REGION }} - - - name: Login to ECR - uses: docker/login-action@v3 - with: - registry: ${{ secrets.ECR_REGISTRY_SECRET }} - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y protobuf-compiler - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y - source $HOME/.cargo/env - rustup target add x86_64-unknown-linux-gnu - - - name: Build partner-chains-node - run: | - rustup target add x86_64-unknown-linux-gnu - cargo build -p partner-chains-node --locked --release --target x86_64-unknown-linux-gnu - cp target/x86_64-unknown-linux-gnu/release/partner-chains-node $PARTNER_CHAINS_NODE_X86_64_LINUX - chmod +x $PARTNER_CHAINS_NODE_X86_64_LINUX - - - name: Run tests - run: cargo test --locked --release --target x86_64-unknown-linux-gnu - - - name: Create and Configure Docker Container - id: create-container - run: | - container_id=$(docker run -d debian:bullseye-slim sleep infinity) - echo "container_id=$container_id" >> $GITHUB_ENV - docker exec $container_id useradd -m -u 1000 -U -s /bin/sh -d /substrate substrate - docker exec $container_id mkdir -p /data /substrate/.local/share/partner-chains-node - docker exec $container_id chown -R substrate:substrate /data /substrate - docker exec $container_id rm -rf /usr/bin/apt* /usr/bin/dpkg* - docker exec $container_id ln -s /data /substrate/.local/share/partner-chains-node - docker cp ./partner-chains-node $container_id:/usr/local/bin/partner-chains-node - docker commit --change='EXPOSE 30333 9615 9933 9944' --change='ENTRYPOINT ["/usr/local/bin/partner-chains-node"]' $container_id substrate-node:${{ inputs.sha }} - - - name: Cleanup Docker Container - if: always() - run: | - docker rm -f ${{ env.container_id }} - - - name: Build partner-chains-cli - run: | - rustup target add x86_64-unknown-linux-gnu - cargo build -p partner-chains-cli --locked --release --target x86_64-unknown-linux-gnu - cp target/x86_64-unknown-linux-gnu/release/partner-chains-cli $PARTNER_CHAINS_CLI_X86_64_LINUX - chmod +x $PARTNER_CHAINS_CLI_X86_64_LINUX - - - name: Push to ECR - run: | - docker tag substrate-node:${{ inputs.sha }} ${{ secrets.ECR_REGISTRY_SECRET }}/substrate-node:${{ inputs.sha }} - docker push ${{ secrets.ECR_REGISTRY_SECRET }}/substrate-node:${{ inputs.sha }} - - - name: Upload partner-chains-cli-x86_64-linux - uses: actions/upload-artifact@v4 - with: - name: ${{ env.PARTNER_CHAINS_CLI_X86_64_LINUX }} - path: ${{ env.PARTNER_CHAINS_CLI_X86_64_LINUX }} - - - name: Upload partner-chains-node-x86_64-linux - uses: actions/upload-artifact@v4 - with: - name: ${{ env.PARTNER_CHAINS_NODE_X86_64_LINUX }} - path: ${{ env.PARTNER_CHAINS_NODE_X86_64_LINUX }} - - partner-chains-macos-x86_64: - runs-on: macos-latest - steps: - - name: Set filename variables - id: set-filenames - run: | - echo "PARTNER_CHAINS_CLI_X86_64_APPLE_DARWIN=partner-chains-cli-${{ inputs.tag }}-x86_64-apple-darwin" >> $GITHUB_ENV - echo "PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN=partner-chains-node-${{ inputs.tag }}-x86_64-apple-darwin" >> $GITHUB_ENV - - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ inputs.sha }} - - - name: Install protoc - run: | - curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v21.3/protoc-21.3-osx-x86_64.zip - unzip protoc-21.3-osx-x86_64.zip -d $HOME/protoc - sudo mv $HOME/protoc/bin/protoc /usr/local/bin/protoc - - - name: Build partner-chains-node - run: | - rustup target add x86_64-apple-darwin - cargo build -p partner-chains-node --locked --release --target x86_64-apple-darwin - cp target/x86_64-apple-darwin/release/partner-chains-node $PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN - chmod +x $PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN - - - name: Build partner-chains-cli - run: | - rustup target add x86_64-apple-darwin - cargo build -p partner-chains-cli --locked --release --target x86_64-apple-darwin - cp target/x86_64-apple-darwin/release/partner-chains-cli $PARTNER_CHAINS_CLI_X86_64_APPLE_DARWIN - chmod +x $PARTNER_CHAINS_CLI_X86_64_APPLE_DARWIN - - - name: Upload partner-chains-cli-x86_64-apple-darwin - uses: actions/upload-artifact@v4 - with: - name: ${{ env.PARTNER_CHAINS_CLI_X86_64_APPLE_DARWIN }} - path: ${{ env.PARTNER_CHAINS_CLI_X86_64_APPLE_DARWIN }} - - - name: Upload partner-chains-node-x86_64-apple-darwin - uses: actions/upload-artifact@v4 - with: - name: ${{ env.PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN }} - path: ${{ env.PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN }} - - partner-chains-macos-arm64: - runs-on: macos-latest - steps: - - name: Set filename variables - id: set-filenames - run: | - echo "PARTNER_CHAINS_CLI_AARCH64_APPLE_DARWIN=partner-chains-cli-${{ inputs.tag }}-aarch64-apple-darwin" >> $GITHUB_ENV - echo "PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN=partner-chains-node-${{ inputs.tag }}-aarch64-apple-darwin" >> $GITHUB_ENV - - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ inputs.sha }} - - - name: Install protoc - run: | - curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v21.3/protoc-21.3-osx-aarch_64.zip - unzip protoc-21.3-osx-aarch_64.zip -d $HOME/protoc - sudo mv $HOME/protoc/bin/protoc /usr/local/bin/protoc - - - name: Build partner-chains-node - run: | - rustup target add aarch64-apple-darwin - cargo build -p partner-chains-node --locked --release --target aarch64-apple-darwin - cp target/aarch64-apple-darwin/release/partner-chains-node $PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN - chmod +x $PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN - - - name: Build partner-chains-cli - run: | - rustup target add aarch64-apple-darwin - cargo build -p partner-chains-cli --locked --release --target aarch64-apple-darwin - cp target/aarch64-apple-darwin/release/partner-chains-cli $PARTNER_CHAINS_CLI_AARCH64_APPLE_DARWIN - chmod +x $PARTNER_CHAINS_CLI_AARCH64_APPLE_DARWIN - - - name: Upload partner-chains-cli-aarch64-apple-darwin - uses: actions/upload-artifact@v4 - with: - name: ${{ env.PARTNER_CHAINS_CLI_AARCH64_APPLE_DARWIN }} - path: ${{ env.PARTNER_CHAINS_CLI_AARCH64_APPLE_DARWIN }} + build-pc-artifacts: + uses: ./.github/workflows/modules/build-pc-artifacts.yml + with: + sha: ${{ inputs.sha }} + tag: ${{ inputs.tag }} - - name: Upload partner-chains-node-aarch64-apple-darwin - uses: actions/upload-artifact@v4 - with: - name: ${{ env.PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN }} - path: ${{ env.PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN }} + publish-ecr-image: + needs: build-pc-artifacts + uses: ./.github/workflows/modules/build-and-publish-ecr-image.yml + with: + sha: ${{ inputs.sha }} + tag: ${{ inputs.tag }} partner-chains-smart-contracts: - uses: ./.github/workflows/modules/build-pcsc-artifact.yml + uses: ./.github/workflows/modules/download-pcsc-artifact.yml with: - sha: #TODO + release: + artifact: + + #uses: ./.github/workflows/modules/build-pcsc-artifact.yml + #with: + # sha: #TODO local-environment-tests: needs: [partner-chains-linux, partner-chains-smart-contracts] diff --git a/.github/workflows/modules/build-and-publish-ecr-image.yml b/.github/workflows/modules/build-and-publish-ecr-image.yml new file mode 100644 index 000000000..b21e83f95 --- /dev/null +++ b/.github/workflows/modules/build-and-publish-ecr-image.yml @@ -0,0 +1,53 @@ +name: Build and Publish to ECR + +on: + workflow_call: + inputs: + sha: + description: "sha" + tag: + description: "tag" + required: true + +jobs: + build-and-publish: + runs-on: ubuntu-latest + steps: + - name: Download partner-chains-node-x86_64-linux-artifact + uses: actions/download-artifact@v4 + with: + name: partner-chains-node-x86_64-linux-artifact + + - name: Create and Configure Docker Container + id: create-container + run: | + container_id=$(docker run -d debian:bullseye-slim sleep infinity) + echo "container_id=$container_id" >> $GITHUB_ENV + docker exec $container_id useradd -m -u 1000 -U -s /bin/sh -d /substrate substrate + docker exec $container_id mkdir -p /data /substrate/.local/share/partner-chains-node + docker exec $container_id chown -R substrate:substrate /data /substrate + docker exec $container_id rm -rf /usr/bin/apt* /usr/bin/dpkg* + docker exec $container_id ln -s /data /substrate/.local/share/partner-chains-node + docker cp ./partner-chains-node-${{ inputs.tag }}-x86_64-linux $container_id:/usr/local/bin/partner-chains-node + docker commit --change='EXPOSE 30333 9615 9933 9944' --change='ENTRYPOINT ["/usr/local/bin/partner-chains-node"]' $container_id substrate-node:${{ inputs.sha }} + + - name: Cleanup Docker Container + if: always() + run: | + docker rm -f ${{ env.container_id }} + + - name: Acquire AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ secrets.AWS_ROLE_ARN_SECRET }} + aws-region: ${{ env.AWS_REGION }} + + - name: Login to ECR + uses: docker/login-action@v3 + with: + registry: ${{ secrets.ECR_REGISTRY_SECRET }} + + - name: Push to ECR + run: | + docker tag substrate-node:${{ inputs.sha }} ${{ secrets.ECR_REGISTRY_SECRET }}/substrate-node:${{ inputs.sha }} + docker push ${{ secrets.ECR_REGISTRY_SECRET }}/substrate-node:${{ inputs.sha }} diff --git a/.github/workflows/modules/build-pc-artifact.yml b/.github/workflows/modules/build-pc-artifacts.yml similarity index 84% rename from .github/workflows/modules/build-pc-artifact.yml rename to .github/workflows/modules/build-pc-artifacts.yml index 8bd45308d..e742253a2 100644 --- a/.github/workflows/modules/build-pc-artifact.yml +++ b/.github/workflows/modules/build-pc-artifacts.yml @@ -3,15 +3,12 @@ name: Build and Upload PC Artifacts on: workflow_call: inputs: - partner_chains_sha: + sha: description: "partner-chains commit SHA or branch to build from" - partner-chains-tag: + required: true + tag: description: "partner-chains release tag to append to artifact name" required: true - create_draft_release_page: - description: "Create a draft release page" - required: false - default: "false" workflow_dispatch: inputs: partner_chains_sha: @@ -49,6 +46,9 @@ jobs: cp target/x86_64-unknown-linux-gnu/release/partner-chains-node $PARTNER_CHAINS_NODE_X86_64_LINUX chmod +x $PARTNER_CHAINS_NODE_X86_64_LINUX + - name: Test partner-chains-node + run: cargo test --locked --release --target x86_64-unknown-linux-gnu + - name: Build partner-chains-cli run: | rustup target add x86_64-unknown-linux-gnu @@ -59,13 +59,13 @@ jobs: - name: Upload partner-chains-cli-x86_64-linux uses: actions/upload-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_CLI_X86_64_LINUX }} + name: partner-chains-cli-x86_64-linux-artifact path: ${{ env.PARTNER_CHAINS_CLI_X86_64_LINUX }} - name: Upload partner-chains-node-x86_64-linux uses: actions/upload-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_NODE_X86_64_LINUX }} + name: partner-chains-node-x86_64-linux-artifact path: ${{ env.PARTNER_CHAINS_NODE_X86_64_LINUX }} partner-chains-macos-x86_64: @@ -74,13 +74,13 @@ jobs: - name: Set filename variables id: set-filenames run: | - echo "PARTNER_CHAINS_CLI_X86_64_APPLE_DARWIN=partner-chains-cli-${{ github.event.inputs.partner-chains-tag }}-x86_64-apple-darwin" >> $GITHUB_ENV - echo "PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN=partner-chains-node-${{ github.event.inputs.partner-chains-tag }}-x86_64-apple-darwin" >> $GITHUB_ENV + echo "PARTNER_CHAINS_CLI_X86_64_APPLE_DARWIN=partner-chains-cli-${{ inputs.tag }}-x86_64-apple-darwin" >> $GITHUB_ENV + echo "PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN=partner-chains-node-${{ inputs.tag }}-x86_64-apple-darwin" >> $GITHUB_ENV - name: Checkout code uses: actions/checkout@v4 with: - ref: ${{ github.event.inputs.partner_chains_sha }} + ref: ${{ inputs.sha }} - name: Install protoc run: | @@ -95,6 +95,9 @@ jobs: cp target/x86_64-apple-darwin/release/partner-chains-node $PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN chmod +x $PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN + - name: Test partner-chains-node + run: cargo test --locked --release --target x86_64-apple-darwin + - name: Build partner-chains-cli run: | rustup target add x86_64-apple-darwin @@ -105,28 +108,28 @@ jobs: - name: Upload partner-chains-cli-x86_64-apple-darwin uses: actions/upload-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_CLI_X86_64_APPLE_DARWIN }} + name: partner-chains-cli-x86_64-apple-darwin-artifact path: ${{ env.PARTNER_CHAINS_CLI_X86_64_APPLE_DARWIN }} - name: Upload partner-chains-node-x86_64-apple-darwin uses: actions/upload-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN }} + name: partner-chains-node-x86_64-apple-darwin-artifact path: ${{ env.PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN }} - + partner-chains-macos-arm64: runs-on: macos-latest steps: - name: Set filename variables id: set-filenames run: | - echo "PARTNER_CHAINS_CLI_AARCH64_APPLE_DARWIN=partner-chains-cli-${{ github.event.inputs.partner-chains-tag }}-aarch64-apple-darwin" >> $GITHUB_ENV - echo "PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN=partner-chains-node-${{ github.event.inputs.partner-chains-tag }}-aarch64-apple-darwin" >> $GITHUB_ENV + echo "PARTNER_CHAINS_CLI_AARCH64_APPLE_DARWIN=partner-chains-cli-${{ inputs.tag }}-aarch64-apple-darwin" >> $GITHUB_ENV + echo "PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN=partner-chains-node-${{ inputs.tag }}-aarch64-apple-darwin" >> $GITHUB_ENV - name: Checkout code uses: actions/checkout@v4 with: - ref: ${{ github.event.inputs.partner_chains_sha }} + ref: ${{ inputs.sha }} - name: Install protoc run: | @@ -141,6 +144,9 @@ jobs: cp target/aarch64-apple-darwin/release/partner-chains-node $PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN chmod +x $PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN + - name: Test partner-chains-node + run: cargo test --locked --release --target aarch64-apple-darwin + - name: Build partner-chains-cli run: | rustup target add aarch64-apple-darwin @@ -151,12 +157,12 @@ jobs: - name: Upload partner-chains-cli-aarch64-apple-darwin uses: actions/upload-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_CLI_AARCH64_APPLE_DARWIN }} + name: partner-chains-cli-aarch64-apple-darwin-artifact path: ${{ env.PARTNER_CHAINS_CLI_AARCH64_APPLE_DARWIN }} - name: Upload partner-chains-node-aarch64-apple-darwin uses: actions/upload-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN }} + name: partner-chains-node-aarch64-apple-darwin-artifact path: ${{ env.PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN }} \ No newline at end of file diff --git a/.github/workflows/modules/download-pcsc-artifact.yml b/.github/workflows/modules/download-pcsc-artifact.yml new file mode 100644 index 000000000..2f588397f --- /dev/null +++ b/.github/workflows/modules/download-pcsc-artifact.yml @@ -0,0 +1,20 @@ +name: Download PCSC Artifact + +on: + workflow_call: + inputs: + release: + description: "release name" + artifact: + description: "artifact name" + +jobs: + - name: Download Artifact from GitHub Release + run: | + wget "https://github.com/input-output-hk/partner-chains-smart-contracts/releases/download/${{ inputs.release }}/${{ inputs.artifact }}" + + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: partner-chains-smart-contracts-artifact + path: ${{ inputs.artifact }} \ No newline at end of file diff --git a/.github/workflows/modules/local-environment-tests.yml b/.github/workflows/modules/local-environment-tests.yml index 0cdcb60b2..a5eddcf47 100644 --- a/.github/workflows/modules/local-environment-tests.yml +++ b/.github/workflows/modules/local-environment-tests.yml @@ -36,26 +36,26 @@ jobs: with: registry: ${{ secrets.ECR_REGISTRY_SECRET }} - - name: Download partner-chains-node + - name: Download partner-chains-cli uses: actions/download-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_NODE_X86_64_LINUX }} + name: partner-chains-cli-x86_64-linux-artifact-artifact - - name: Download partner-chains-cli + - name: Download partner-chains-node uses: actions/download-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_CLI_X86_64_LINUX }} + name: partner-chains-node-x86_64-linux-artifact-artifact - name: Download partner-chains-smart-contracts uses: actions/download-artifact@v4 with: - name: partner-chains-smart-contracts-x86_64-linux + name: partner-chains-smart-contracts-artifact - name: Deploy local environment with overrides run: | cp -r ./partner-chains-cli-* ./partner-chains-master/dev/local-environment/configurations/partner-chains-cli/overrides/partner-chains-cli cp -r ./partner-chains-node-* ./partner-chains-master/dev/local-environment/configurations/partner-chains-cli/overrides/partner-chains-node - cp -r ./partner-chains-smart-contracts-x86_64-linux/* ./partner-chains-master/dev/local-environment/configurations/sidechain-release-bundle/overrides/ + cp -r ./partner-chains-smart-contracts*/* ./partner-chains-master/dev/local-environment/configurations/sidechain-release-bundle/overrides/ cd ./partner-chains-master/dev/local-environment bash setup.sh --non-interactive --overrides --postgres-password=postgres --node-image=${{ inputs.image }} docker compose up -d diff --git a/.github/workflows/modules/release-pc-artifact.yml b/.github/workflows/modules/release-pc-artifact.yml index 4255ff75e..3dea972db 100644 --- a/.github/workflows/modules/release-pc-artifact.yml +++ b/.github/workflows/modules/release-pc-artifact.yml @@ -43,37 +43,37 @@ jobs: - name: Download Linux CLI artifact uses: actions/download-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_CLI_X86_64_LINUX }} + name: partner-chains-cli-x86_64-linux-artifact-artifact path: artifact-linux/ - name: Download Linux NODE artifact uses: actions/download-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_NODE_X86_64_LINUX }} + name: partner-chains-node-x86_64-linux-artifact-artifact path: artifact-linux/ - name: Download macOS x86_64 CLI artifact uses: actions/download-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_CLI_X86_64_APPLE_DARWIN }} + name: partner-chains-cli-x86_64-apple-darwin-artifact path: artifact-macos-x86_64/ - name: Download macOS x86_64 NODE artifact uses: actions/download-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_NODE_X86_64_APPLE_DARWIN }} + name: partner-chains-node-x86_64-apple-darwin-artifact path: artifact-macos-x86_64/ - name: Download macOS ARM64 CLI artifact uses: actions/download-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_CLI_AARCH64_APPLE_DARWIN }} + name: partner-chains-cli-aarch64-apple-darwin-artifact path: artifact-macos-arm64/ - name: Download macOS ARM64 NODE artifact uses: actions/download-artifact@v4 with: - name: ${{ env.PARTNER_CHAINS_NODE_AARCH64_APPLE_DARWIN }} + name: partner-chains-node-aarch64-apple-darwin-artifact path: artifact-macos-arm64/ - name: Check if release already exists