enable analyzer on CI
[liba.git] / .github / workflows / msys2.yml
blobc622828c7a174cacf68740535f59ac8e80137259
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: MINGW64 },
11           { triple: x86, sys: MINGW32 },
12           { triple: x64, sys: CLANG64 },
13           { triple: x64, sys: UCRT64 },
14         ]
15     runs-on: windows-latest
16     steps:
17       - uses: actions/checkout@v4
18         with:
19           lfs: true
20           submodules: true
21       - uses: msys2/setup-msys2@v2
22         with:
23           update: true
24           location: D:\
25           path-type: strict
26           msystem: ${{ matrix.sys }}
27           pacboy: >-
28             toolchain:p
29             cmake:p
30             make:p
31             lua:p
32             rust:p
33             cython:p
34             python:p
35             python-pip:p
36             python-setuptools:p
37       - name: Run debug
38         shell: msys2 {0}
39         env:
40           MSYS2_PATH_TYPE: strict
41           MSYSTEM: ${{ matrix.sys }}
42         run: env
43       - name: Run cmake
44         shell: msys2 {0}
45         env:
46           MSYS2_PATH_TYPE: strict
47           MSYSTEM: ${{ matrix.sys }}
48           LIBA_OPENMP: ${{ !startsWith(matrix.sys, 'CLANG') }}
49         run: |
50           set -x
51           cmake -S . -B build -G "MinGW Makefiles" -DPython_ROOT_DIR=D:/msys64/${{ matrix.sys }} \
52             -DBUILD_TESTING=1 \
53             -DLIBA_WARNINGS=1 \
54             -DLIBA_ANALYZER=1 \
55             -DLIBA_PYTHON=1 \
56             -DLIBA_VCPKG=1 \
57             -DLIBA_JAVA=1 \
58             -DLIBA_LUA=1
59           cmake --build build --target package
60       - name: Run vcpkg
61         shell: msys2 {0}
62         env:
63           MSYS2_PATH_TYPE: strict
64           MSYSTEM: ${{ matrix.sys }}
65         run: |
66           set -x
67           cp -r build/vcpkg/* $VCPKG_INSTALLATION_ROOT
68           $VCPKG_INSTALLATION_ROOT/vcpkg install liba[ipo,pkgconfig]:${{ matrix.triple }}-mingw-static
69           $VCPKG_INSTALLATION_ROOT/vcpkg install liba[ipo,pkgconfig]:${{ matrix.triple }}-mingw-dynamic
70       - name: Run ctest
71         if: ${{ matrix.triple == 'x64' }}
72         shell: msys2 {0}
73         env:
74           MSYS2_PATH_TYPE: strict
75           MSYSTEM: ${{ matrix.sys }}
76           CTEST_OUTPUT_ON_FAILURE: 1
77         run: |
78           set -x
79           cmake --build build --target test