diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/.github/workflows/msys2.yml | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/.github/workflows/msys2.yml')
-rw-r--r-- | meson/.github/workflows/msys2.yml | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/meson/.github/workflows/msys2.yml b/meson/.github/workflows/msys2.yml new file mode 100644 index 000000000..f0cfa5d28 --- /dev/null +++ b/meson/.github/workflows/msys2.yml @@ -0,0 +1,104 @@ +name: msys2 + +concurrency: + group: msys2-${{ github.head_ref }} + cancel-in-progress: true + +on: + push: + paths: + - "mesonbuild/**" + - "test cases/**" + - ".github/workflows/msys2.yml" + - "run_unittests.py" + pull_request: + paths: + - "mesonbuild/**" + - "test cases/**" + - ".github/workflows/msys2.yml" + - "run_unittests.py" + +jobs: + test: + runs-on: windows-2019 + name: ${{ matrix.NAME }} + strategy: + fail-fast: false + matrix: + include: + - NAME: gccx86ninja + MSYSTEM: MINGW32 + MSYS2_ARCH: i686 + MSYS2_CURSES: ncurses + COMPILER: gcc + TOOLCHAIN: toolchain + - NAME: gccx64ninja + MSYSTEM: MINGW64 + MSYS2_ARCH: x86_64 + MSYS2_CURSES: pdcurses + COMPILER: gcc + TOOLCHAIN: toolchain + - NAME: clangx64ninja + MSYSTEM: MINGW64 + MSYS2_ARCH: x86_64 + MSYS2_CURSES: + COMPILER: clang + TOOLCHAIN: clang + + defaults: + run: + shell: msys2 {0} + + steps: + - uses: actions/checkout@v2 + + - uses: msys2/setup-msys2@v2 + with: + msystem: ${{ matrix.MSYSTEM }} + update: true + install: >- + base-devel + git + mercurial + lcov + mingw-w64-${{ matrix.MSYS2_ARCH }}-cmake + mingw-w64-${{ matrix.MSYS2_ARCH }}-glib2 + mingw-w64-${{ matrix.MSYS2_ARCH }}-libxml2 + mingw-w64-${{ matrix.MSYS2_ARCH }}-ninja + mingw-w64-${{ matrix.MSYS2_ARCH }}-pkg-config + mingw-w64-${{ matrix.MSYS2_ARCH }}-python2 + mingw-w64-${{ matrix.MSYS2_ARCH }}-python + mingw-w64-${{ matrix.MSYS2_ARCH }}-python-lxml + mingw-w64-${{ matrix.MSYS2_ARCH }}-python-setuptools + mingw-w64-${{ matrix.MSYS2_ARCH }}-python-pip + mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.TOOLCHAIN }} + + - name: Install dependencies + run: | + python3 -m pip --disable-pip-version-check install gcovr jsonschema pefile pytest pytest-xdist coverage codecov + + - name: Run Tests + run: | + export BOOST_ROOT= + export PATHEXT="$PATHEXT;.py" + + if [[ '${{ matrix.COMPILER }}' == 'clang' ]]; then + export CC=clang + export CXX=clang++ + export OBJC=clang + export OBJCXX=clang++ + fi + + if [[ "${{ matrix.MSYS2_CURSES }}" != "" ]]; then + pacman --noconfirm --needed -S mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.MSYS2_CURSES }} + fi + + MSYSTEM= python3 ./tools/run_with_cov.py run_tests.py --backend=ninja + + - uses: actions/upload-artifact@v2 + with: + name: ${{ matrix.NAME }} + path: meson-test-run.* + + - name: Upload coverage report + run: ./ci/upload_cov.sh "${{ matrix.NAME }}" |