name: Windows Build on: [push, pull_request] jobs: build: runs-on: windows-latest strategy: fail-fast: false matrix: include: - sys: mingw32 package: "system3-sdl2-32bit" deps: "" - sys: ucrt64 package: "system3-sdl2-64bit" deps: "nlohmann-json:p" defaults: run: shell: msys2 {0} name: MSYS2 ${{ matrix.sys }} steps: - name: Set up MSYS2 uses: msys2/setup-msys2@v2 with: msystem: ${{ matrix.sys }} pacboy: >- SDL2:p SDL2_ttf:p rtmidi:p ${{ matrix.deps }} - name: Checkout uses: actions/checkout@v6 with: submodules: true - name: Copy licenses run: | ls /${{ matrix.sys }}/share/licenses mkdir dist cp -r /${{ matrix.sys }}/share/licenses dist/ cp resources/fonts/*.license dist/licenses/ cp deps/ymfm/LICENSE dist/licenses/ymfm.license - name: Install dev dependencies run: pacboy --noconfirm -S --needed gcc:p cmake:p ninja:p - name: Build run: | cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_COMPILE_WARNING_AS_ERROR=YES cmake --build build - name: Test run: ctest --output-on-failure --test-dir build - name: Package run: | cp build/system3.exe COPYING.txt dist/ - name: Upload uses: actions/upload-artifact@v7 with: name: ${{ matrix.package }} path: dist compression-level: 9 # because we use it for releases