name: MSYS2 Makefile on: push: paths: - src/** - .github/workflows/c-cpp.yml - "!**/CMakeLists.txt" pull_request: paths: - src/** - .github/workflows/c-cpp.yml - "!**/CMakeLists.txt" jobs: msys2: name: "Windows MSYS2 Makefile (Win32 GUI, ${{ matrix.build.name }}, ${{ matrix.dynarec.name }}, ${{ matrix.environment.msystem }})" runs-on: windows-2022 defaults: run: shell: msys2 {0} strategy: fail-fast: true matrix: build: # - name: Regular # debug: n # dev: n - name: Debug debug: y dev: n slug: -Debug - name: Dev debug: y dev: y slug: -Dev dynarec: - name: ODR new: n slug: -ODR - name: NDR new: y slug: -NDR environment: # - msystem: MSYS # clang: n # x64: y - msystem: MINGW32 prefix: mingw-w64-i686 clang: n x64: n - msystem: MINGW64 prefix: mingw-w64-x86_64 clang: n x64: y # - msystem: CLANG32 # prefix: mingw-w64-clang-i686 # clang: y # x64: n # - msystem: CLANG64 # prefix: mingw-w64-clang-x86_64 # clang: y # x64: y - msystem: UCRT64 prefix: mingw-w64-ucrt-x86_64 clang: n x64: y steps: - name: Prepare MSYS2 environment uses: msys2/setup-msys2@v2 with: release: false update: true msystem: ${{ matrix.environment.msystem }} install: >- make pacboy: >- gcc:p clang:p pkg-config:p freetype:p SDL2:p zlib:p libpng:p openal:p rtmidi:p libvncserver:p - name: Checkout repository uses: actions/checkout@v3 - name: make run: >- make -fwin/Makefile.mingw -j DEV_BUILD=${{ matrix.build.dev }} DEBUG=${{ matrix.build.debug }} NEW_DYNAREC=${{ matrix.dynarec.new }} CLANG=${{ matrix.environment.clang }} X64=${{ matrix.environment.x64 }} working-directory: ./src - name: Upload artifact uses: actions/upload-artifact@v3 with: name: '86Box${{ matrix.dynarec.slug }}${{ matrix.build.slug }}-Windows-${{ matrix.environment.msystem }}-gha${{ github.run_number }}' path: src/86Box.exe