Fix Windows build (fix #31) #26
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Pinched and adapted from the meson wrapdb Sanity Checks | |
# https://github.com/mesonbuild/wrapdb/blob/897fb47c005c043aab20eda1fbc4bf68d86da713/.github/workflows/sanity_checks.yml | |
name: Windows | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: trunk | |
paths: | |
- '**' | |
- '!**.md' | |
- '!docs/**' | |
- '!**.yml' | |
- '**/windows.yml' | |
pull_request: | |
branches: trunk | |
paths: | |
- '**' | |
- '!**.md' | |
- '!docs/**' | |
- '!**.yml' | |
- '**/windows.yml' | |
jobs: | |
VisualStudio: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: ['x64', 'x86'] | |
steps: | |
- uses: actions/checkout@v4 | |
# Install a 32-bit Python so building related stuff work. | |
- name: Setup x86 Python | |
if: matrix.platform == 'x86' | |
uses: actions/setup-python@v5 | |
with: | |
architecture: 'x86' | |
python-version: '3.12' | |
# https://github.com/actions/runner-images/issues/5459#issuecomment-1532856844 | |
- name: Remove bad Strawberry Perl patch binary in search path | |
run: del C:\Strawberry\c\bin\patch.EXE | |
- name: Install packages | |
run: | | |
python -m pip install --pre meson | |
- uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: ${{matrix.platform}} | |
- name: Configure | |
run: meson setup builddir -Ddefault_library=static -Db_sanitize=none | |
- name: Build | |
run: meson compile -C builddir | |
- name: Test | |
run: | | |
meson test -C builddir || cat builddir\meson-logs\testlog.txt | |
MSYS2: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: ['UCRT64', 'CLANG64'] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{matrix.platform}} | |
install: >- | |
bison | |
dos2unix | |
git | |
pacboy: >- | |
cc:p | |
cmake:p | |
ninja:p | |
pkgconf:p | |
python-certifi:p | |
python-pip:p | |
# Make sure Python is updated to >=3.11 (fix https://github.com/msys2/MINGW-packages/issues/17415). | |
update: true | |
- name: Install packages | |
shell: msys2 {0} | |
run: | | |
python -m pip install --pre meson | |
- name: Configure | |
run: python -m meson setup builddir -Ddefault_library=static -Db_sanitize=none | |
- name: Build | |
run: python -m meson compile -C builddir | |
- name: Test | |
run: python -m meson test -C builddir || cat builddir\meson-logs\testlog.txt | |
mingw: | |
name: ${{ matrix.build.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
build: | |
- os: windows-latest | |
runs-on: ${{ matrix.build.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Show info | |
run: | | |
echo '${{ toJSON(matrix) }}' | |
#- name: Setup Python | |
#uses: actions/setup-python@v5 | |
#with: | |
#python-version: '3.x' | |
- name: Install Meson | |
run: python -m pip install --pre meson | |
- name: Install MinGW | |
uses: egor-tensin/setup-mingw@v2 | |
with: | |
version: 12.2.0 | |
- name: Configure | |
run: meson setup builddir -Ddefault_library=static -Db_sanitize=none | |
- name: Build | |
run: meson compile -C builddir | |
- name: Test | |
run: | | |
meson test -C builddir || cat builddir\meson-logs\testlog.txt |