Files

84 lines
2.2 KiB
YAML

name: Windows Build
on: [push, pull_request]
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- sys: mingw32
package: "xsystem35-sdl2-32bit"
sdl-version: 2
sdl-deps: "SDL2:p SDL2_mixer:p"
cmake_args: "-DENABLE_DEBUGGER=no"
deps: ""
- sys: ucrt64
package: "xsystem35-sdl2-64bit"
sdl-version: 2
sdl-deps: "SDL2:p SDL2_mixer:p"
cmake_args: ""
deps: >-
cjson:p
portmidi:p
- sys: ucrt64
package: "xsystem35-sdl3-64bit"
sdl-version: 3
sdl-deps: "sdl3:p sdl3-mixer:p"
cmake_args: ""
deps: >-
cjson:p
portmidi:p
defaults:
run:
shell: msys2 {0}
name: MSYS2 SDL${{ matrix.sdl-version }} ${{ matrix.sys }}
steps:
- name: Set up MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.sys }}
pacboy: >-
${{ matrix.sdl-deps }}
freetype:p
libwebp:p
${{ matrix.deps }}
- name: Checkout
uses: actions/checkout@v6
- name: Copy licenses
run: |
ls /${{ matrix.sys }}/share/licenses
mkdir dist
cp -r /${{ matrix.sys }}/share/licenses dist/
cp licenses/* dist/licenses/
- name: Install dev dependencies
run: pacboy --noconfirm -S --needed gcc:p cmake:p ninja:p asciidoctor:p
- name: Build
run: |
cmake -S . -B out/release -GNinja -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_COMPILE_WARNING_AS_ERROR=YES \
-DXSYSTEM35_SDL_VERSION=${{ matrix.sdl-version }} \
${{ matrix.cmake_args }}
cmake --build out/release
- name: Test
run: ctest --output-on-failure
working-directory: out/release
- name: Package
run: |
cp out/release/src/xsystem35.exe out/release/doc/*.html *.md COPYING xsys35rc.sample dist/
- name: Upload
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.package }}
path: dist
compression-level: 9 # because we use it for releases