Skip to content

Fix Windows build (fix #31) #26

Fix Windows build (fix #31)

Fix Windows build (fix #31) #26

Workflow file for this run

# 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