release 0.1.15
[liba.git] / .github / workflows / msys2.yml
blobb19b147661e83e01ea7743fb3e9b6f736a70efeb
1 name: msys2
2 on:
3   workflow_dispatch:
4 jobs:
5   MSYS2:
6     strategy:
7       fail-fast: false
8       matrix:
9         include: [
10           { triple: x64, sys: UCRT64 },
11           { triple: x64, sys: MINGW64 },
12           { triple: x86, sys: MINGW32 },
13           { triple: x64, sys: CLANG64 },
14           { triple: x86, sys: CLANG32 },
15         ]
16     runs-on: windows-latest
17     steps:
18       - uses: actions/checkout@v4
19         with:
20           lfs: true
21           submodules: true
22       - uses: msys2/setup-msys2@v2
23         with:
24           cache: false
25           update: true
26           location: D:\
27           msystem: ${{ matrix.sys }}
28           install: >-
29             patch
30           pacboy: >-
31             toolchain:p
32             cmake:p
33             ninja:p
34             lua:p
35             cython:p
36             python:p
37             python-pip:p
38             python-setuptools:p
39       - name: Run debug
40         shell: msys2 {0}
41         env:
42           MSYSTEM: ${{ matrix.sys }}
43         run: env
44       - name: Run cmake
45         shell: msys2 {0}
46         env:
47           MSYSTEM: ${{ matrix.sys }}
48         run: |
49           set -x
50           cmake -S . -B build -G Ninja -DPython_ROOT_DIR=D:/msys64/${{ matrix.sys }} \
51             -DCMAKE_INSTALL_PREFIX=_ \
52             -DBUILD_TESTING=1 \
53             -DLIBA_WARNINGS=1 \
54             -DLIBA_ANALYZER=1 \
55             -DLIBA_PYTHON=1 \
56             -DLIBA_JAVA=1 \
57             -DLIBA_LUA=1 \
58             -DLIBA_WITH_QUICKJS=1
59       - name: Run ninja
60         shell: msys2 {0}
61         env:
62           MSYSTEM: ${{ matrix.sys }}
63           LIBA_OPENMP: ${{ !startsWith(matrix.sys, 'CLANG') }}
64         run: |
65           set -x
66           cmake --build build --target package
67       - name: Run ctest
68         shell: msys2 {0}
69         env:
70           MSYSTEM: ${{ matrix.sys }}
71           CTEST_OUTPUT_ON_FAILURE: 1
72         run: |
73           set -x
74           cmake --build build --target test
75       - name: Run example
76         shell: msys2 {0}
77         env:
78           MSYSTEM: ${{ matrix.sys }}
79         run: |
80           set -x
81           cmake --build build --config RelWithDebInfo --target install
82           cmake -S example -B example/build -DCMAKE_PREFIX_PATH=$(pwd)/_
83           cmake --build example/build -v
84       - uses: actions/checkout@v4
85         with:
86           repository: microsoft/vcpkg
87           path: _/vcpkg
88       - name: Run vcpkg
89         shell: msys2 {0}
90         env:
91           MSYSTEM: ${{ matrix.sys }}
92         run: |
93           set -x
94           cmake -B build -DLIBA_VCPKG=$(pwd)/_/vcpkg
95           _/vcpkg/bootstrap-vcpkg.sh -disableMetrics
96           _/vcpkg/vcpkg install liba[ipo,pkgconfig]:${{ matrix.triple }}-mingw-static
97           _/vcpkg/vcpkg install liba[ipo,pkgconfig]:${{ matrix.triple }}-mingw-dynamic