brstm 0.4.2

Crate to read and write brstm files
Documentation
# see https://github.com/nicolas-van/rust-cross-compile-example/blob/main/.github/workflows/rust.yml
name: Rust

on:
  push:
  pull_request:

env:
  CARGO_TERM_COLOR: always

defaults:
  run:
    # necessary for windows
    shell: bash

jobs:
  # test:
  #   runs-on: ubuntu-latest
  #   steps:
  #     - uses: actions/checkout@v2
  #     - name: Cargo cache
  #       uses: actions/cache@v2
  #       with:
  #         path: |
  #           ~/.cargo/registry
  #           ./target
  #         key: test-cargo-registry
  #     - name: List
  #       run: find ./
  #     - name: Run tests
  #       run: cargo test --verbose

  build:
    strategy:
      fail-fast: false
      matrix:
        # a list of all the targets
        include:
          - TARGET: x86_64-unknown-linux-gnu
            OS: ubuntu-latest
          - TARGET: x86_64-apple-darwin
            OS: macos-latest
          - TARGET: x86_64-pc-windows-msvc
            OS: windows-latest
    # needs: test
    runs-on: ${{ matrix.OS }}
    env:
      # NAME: music-randomizer # change with the name of your project
      TARGET: ${{ matrix.TARGET }}
      OS: ${{ matrix.OS }}
    steps:
      - uses: actions/checkout@v3
      - name: Cargo cache
        uses: actions/cache@v3
        with:
          path: |
            ~/.cargo/registry
            ./target
          key: build-cargo-registry-${{matrix.TARGET}}
      - name: List
        run: find ./
      - name: Install rust target
        run: rustup target add $TARGET
      - name: Run build
        run: cd music-randomizer && cargo build --release --verbose --target $TARGET
      - name: Run build
        run: cd brstm-encoder && cargo build --release --verbose --target $TARGET
      - name: List target
        run: find ./target
      - name: Compress
        run: |
          mkdir -p ./artifacts
          # windows is the only OS using a different convention for executable file name
          if [[ $OS =~ ^windows.*$ ]]; then
              EXEC_SUFFIX=.exe
          else
              EXEC_SUFFIX=
          fi
          if [[ $GITHUB_REF_TYPE =~ ^tag$ ]]; then
            TAG=$GITHUB_REF_NAME
          else
            TAG=$GITHUB_SHA
          fi
          mv ./target/$TARGET/release/music-randomizer$EXEC_SUFFIX ./artifacts
          mv ./target/$TARGET/release/brstm-encoder$EXEC_SUFFIX ./artifacts
      - name: Archive artifact
        uses: actions/upload-artifact@v3
        with:
          name: ${{ env.OS }}
          path: |
            ./artifacts