name: Build VST on: push: branches: [ "main" ] paths: ["gb-vst/**", "lib/**", "vendored/**", "Cargo.toml"] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ${{ matrix.os }}-latest strategy: matrix: os: [ubuntu, macos, windows] steps: - uses: actions/checkout@v3 - run: git submodule update --init --recursive - run: mkdir test-roms - uses: suisei-cn/actions-download-file@v1.3.0 with: url: 'https://github.com/trash80/mGB/raw/master/Releases/mGB1_3_1.gb' target: test-roms/ - uses: actions-rs/toolchain@v1 with: toolchain: nightly override: true - run: rustup target add aarch64-apple-darwin x86_64-apple-darwin if: ${{ matrix.os == 'macos' }} - uses: awalsh128/cache-apt-pkgs-action@latest if: ${{ matrix.os == 'ubuntu' }} with: packages: libasound2-dev libudev-dev xorg-dev libjack-jackd2-dev libx11-xcb-dev libxcb-icccm4-dev libxcb-dri2-0-dev version: 1.0 - uses: actions-rs/cargo@v1 if: ${{ matrix.os != 'macos' }} with: command: xtask args: bundle vst --release - uses: actions-rs/cargo@v1 if: ${{ matrix.os == 'macos' }} with: command: xtask args: bundle-universal vst --release - uses: actions/upload-artifact@v3 with: name: gb-vst-${{ matrix.os }}.vst3 path: target/bundled/vst.vst3