docs: Add windres to cross-compiling example #69
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: cygwin | |
concurrency: | |
group: cygwin-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: | |
- master | |
# Stable branches such as 0.56 or 1.0 | |
- '[0-9]+.[0-9]+' | |
paths: | |
- "mesonbuild/**" | |
- "test cases/**" | |
- "unittests/**" | |
- ".github/workflows/cygwin.yml" | |
- "run*tests.py" | |
pull_request: | |
paths: | |
- "mesonbuild/**" | |
- "test cases/**" | |
- "unittests/**" | |
- ".github/workflows/cygwin.yml" | |
- "run*tests.py" | |
permissions: | |
contents: read | |
jobs: | |
test: | |
runs-on: windows-latest | |
name: ${{ matrix.NAME }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- NAME: gccx64ninja | |
ARCH: x86_64 | |
env: | |
MESON_CI_JOBNAME: cygwin-${{ matrix.NAME }} | |
steps: | |
- uses: actions/cache/restore@v4 | |
id: restore-cache | |
with: | |
# should use 'pip3 cache dir' to discover this path | |
path: C:\cygwin\home\runneradmin\.cache\pip | |
key: cygwin-pip-${{ github.run_number }} | |
restore-keys: cygwin-pip- | |
- run: git config --global core.autocrlf input | |
- uses: actions/checkout@v4 | |
- uses: cygwin/cygwin-install-action@master | |
with: | |
platform: ${{ matrix.ARCH }} | |
packages: | | |
cmake | |
gcc-fortran | |
gcc-objc++ | |
gcc-objc | |
git | |
gobject-introspection | |
gtk-doc | |
libboost-devel | |
libglib2.0-devel | |
libgtk3-devel | |
libxml2-devel | |
libxslt-devel | |
make | |
ninja | |
python2-devel | |
python3-devel | |
python3-libxml2 | |
python3-libxslt | |
python39-pip | |
python39-wheel | |
vala | |
zlib-devel | |
- name: Run pip | |
run: | | |
export PATH=/usr/bin:/usr/local/bin:$(cygpath ${SYSTEMROOT})/system32 | |
python3 -m pip --disable-pip-version-check install gcovr fastjsonschema pefile pytest pytest-subtests pytest-xdist coverage | |
shell: C:\cygwin\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}' | |
- uses: actions/cache/save@v4 | |
with: | |
# should use 'pip3 cache dir' to discover this path | |
path: C:\cygwin\home\runneradmin\.cache\pip | |
key: cygwin-pip-${{ github.run_number }} | |
- name: Run tests | |
run: | | |
export PATH=/usr/bin:/usr/local/bin:$(cygpath ${SYSTEMROOT})/system32 | |
python3 ./tools/run_with_cov.py run_tests.py --backend=ninja | |
env: | |
# Cygwin's static boost installation is broken (some static library | |
# variants such as boost_thread are not present) | |
SKIP_STATIC_BOOST: 1 | |
shell: C:\cygwin\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.NAME }} | |
path: meson-test-run.* | |
# test log should be saved on failure | |
if: ${{ !cancelled() }} | |
- name: Aggregate coverage reports | |
run: | | |
export PATH=/usr/bin:/usr/local/bin:$(cygpath ${SYSTEMROOT})/system32 | |
./ci/combine_cov.sh | |
shell: C:\cygwin\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}' | |
- name: Upload coverage report | |
uses: codecov/codecov-action@v3 | |
with: | |
files: .coverage/coverage.xml | |
name: "${{ matrix.NAME }}" | |
fail_ci_if_error: false | |
verbose: true |