wasm-tools 1.0.49

CLI tools for interoperating with WebAssembly files
Documentation
name: Build
on:
  push:
    tags:
  pull_request:
    branches:
    - main

defaults:
  run:
    shell: bash

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

permissions:
  contents: write

jobs:
  build:
    name: Build wasm-tools
    runs-on: ${{ matrix.os }}
    if: github.event_name != 'push' || startsWith(github.ref, 'refs/tags/wasm-tools-')
    strategy:
      matrix:
        include:
        - build: x86_64-linux
          os: ubuntu-latest
        - build: x86_64-macos
          os: macos-latest
        - build: aarch64-macos
          os: macos-latest
          target: aarch64-apple-darwin
        - build: x86_64-windows
          os: windows-latest
        - build: aarch64-linux
          os: ubuntu-latest
          target: aarch64-unknown-linux-gnu
    steps:
    - uses: actions/checkout@v3
      with:
        submodules: true
    - run: rustup update stable --no-self-update && rustup default stable
    - uses: bytecodealliance/wasmtime/.github/actions/binary-compatible-builds@v4.0.0
      with:
        name: ${{ matrix.build }}
    - run: |
        echo CARGO_BUILD_TARGET=${{ matrix.target }} >> $GITHUB_ENV
        rustup target add ${{ matrix.target }}
      if: matrix.target != ''
    - run: $CENTOS cargo build --release
    - run: ./ci/build-tarballs.sh "${{ matrix.build }}" "${{ matrix.target }}"
    - uses: actions/upload-artifact@v3
      with:
        name: bins-${{ matrix.build }}
        path: dist

    - uses: softprops/action-gh-release@v1
      if: startsWith(github.ref, 'refs/tags/') && github.repository == 'bytecodealliance/wasm-tools'
      with:
        files: "dist/*"