metaboss 0.49.0

The Metaplex NFT-standard Swiss Army Knife tool.
Documentation
name: Build and Release

on:
  workflow_dispatch:
  push:
    branches: [main]
    tags:
      - "v*.*.*"

jobs:
  build:
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - macos-latest
          - macos-latest-large # intel

    runs-on: ${{ matrix.os }}

    env:
      MATRIX_OS: ${{ matrix.os }}

    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Install Latest Rust
        uses: dtolnay/rust-toolchain@stable

      - name: Build
        id: build
        shell: bash
        run: |
          cargo build --all --release

          binary_extension=""

          if [[ "$RUNNER_OS" == "Linux" ]]; then
            binary_path="metaboss-ubuntu-latest"
          fi
          if [[ "${RUNNER_OS}" == "macOS" ]]; then
            if [[ "${MATRIX_OS}" == "macos-latest" ]]; then
              binary_path="metaboss-macos-m1-latest"
            else
              binary_path="metaboss-macos-intel-latest"
            fi
          fi
          mv "target/release/metaboss${binary_extension}" "${binary_path}"
          echo "::set-output name=binary_path::${binary_path}"
          strip "${binary_path}"

      - name: Release Tags
        uses: softprops/action-gh-release@v1
        if: startsWith(github.ref, 'refs/tags/')
        with:
          files: ${{ steps.build.outputs.binary_path }}