Fix 'test_pefile_checksum' test expectations #141
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
name: msys2 | |
concurrency: | |
group: msys2-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
paths: | |
- "mesonbuild/**" | |
- "test cases/**" | |
- "unittests/**" | |
- ".github/workflows/msys2.yml" | |
- "run_unittests.py" | |
pull_request: | |
paths: | |
- "mesonbuild/**" | |
- "test cases/**" | |
- "unittests/**" | |
- ".github/workflows/msys2.yml" | |
- "run_unittests.py" | |
permissions: | |
contents: read | |
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 | |
env: | |
MESON_CI_JOBNAME: msys2-${{ matrix.NAME }} | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{ matrix.MSYSTEM }} | |
update: true | |
install: >- | |
base-devel | |
git | |
mercurial | |
lcov | |
wget | |
unzip | |
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 }}-python-jsonschema | |
mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.TOOLCHAIN }} | |
- name: Conditional lld install | |
run: | | |
pacman -S --noconfirm mingw-w64-${{ matrix.MSYS2_ARCH }}-lld | |
if: ${{ matrix.COMPILER == 'clang' }} | |
- name: Install dependencies | |
run: | | |
python3 -m pip --disable-pip-version-check install gcovr pefile pytest pytest-subtests pytest-xdist coverage | |
- name: Install pypy3 on x86_64 | |
run: | | |
mkdir pypy3local | |
pushd pypy3local | |
wget -nv https://downloads.python.org/pypy/pypy3.8-v7.3.9-win64.zip | |
unzip pypy3.8-v7.3.9-win64.zip | |
mv pypy3.8-v7.3.9-win64/* ./ | |
popd | |
if: ${{ matrix.MSYS2_ARCH == 'x86_64' }} | |
- name: Run Tests | |
run: | | |
if [[ "${{ matrix.MSYS2_ARCH }}" == "x86_64" ]]; then | |
# There apparently is no clean way to add to the PATH in the | |
# previous step? | |
# See for instance https://github.com/msys2/setup-msys2/issues/171 | |
export PATH=$PATH:$PWD/pypy3local | |
# Make sure it is on the PATH | |
pypy3 -c "import sys; print(sys.version)" | |
fi | |
export PATHEXT="$PATHEXT;.py" | |
if [[ '${{ matrix.COMPILER }}' == 'clang' ]]; then | |
export CC=clang | |
export CC_LD=lld | |
export CXX=clang++ | |
export CXX_LD=lld | |
export OBJC=clang | |
export OBJC_LD=lld | |
export OBJCXX=clang++ | |
export OBJCXX_LD=lld | |
export AR=llvm-ar | |
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@v3 | |
with: | |
name: ${{ matrix.NAME }} | |
path: meson-test-run.* | |
- name: Aggregate coverage reports | |
run: ./ci/combine_cov.sh | |
- name: Upload coverage report | |
uses: codecov/codecov-action@v3 | |
with: | |
files: .coverage/coverage.xml | |
name: "${{ matrix.NAME }}" | |
fail_ci_if_error: false | |
verbose: true |