diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..4e19952 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,44 @@ +name: Build + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + CARGO_TERM_COLOR: always + VST3_SDK_DIR: ${{ github.workspace }}/vst3sdk + +jobs: + build: + strategy: + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + + runs-on: ${{ matrix.os }} + + steps: + - name: Install dependencies (Ubuntu) + if: startsWith(matrix.os, 'ubuntu') + run: | + sudo apt-get update + sudo apt-get install -y libasound2-dev libgl-dev libjack-dev libxcb1-dev libxcb-icccm4-dev libxcursor-dev libxkbcommon-dev libxcb-shape0-dev libxcb-xfixes0-dev libx11-xcb-dev libxcb-dri2-0-dev libpango1.0-dev libatk1.0-dev libgdk-pixbuf-2.0-dev libgtk-3-dev libgtkmm-3.0-dev libxkbcommon-x11-dev + + - uses: actions/checkout@v5 + + - name: Clone vst3sdk + uses: actions/checkout@v5 + with: + repository: steinbergmedia/vst3sdk + path: vst3sdk + + - name: Init vst3sdk submodules + run: | + cd vst3sdk + git submodule update --init base cmake pluginterfaces public.sdk + + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose