Move Cygwin tests to a GitHub workflow (#8829)

* CI: Don't run cross-only test when other workflows are changed

* CI: Move Cygwin test run from Azure Pipelines to GitHub workflow

Also review installed package list, dropping detritus from 42792554, not
removed in f5ed85d7.
pull/8866/head
Jon Turney 3 years ago committed by GitHub
parent 5a5ab79078
commit 0accc3b72d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 89
      .github/workflows/cygwin.yml
  2. 10
      .github/workflows/nonative.yml
  3. 72
      azure-pipelines.yml

@ -0,0 +1,89 @@
name: cygwin
on:
push:
paths:
- "mesonbuild/**"
- "test cases/**"
- ".github/workflows/cygwin.yml"
- "run*tests.py"
pull_request:
paths:
- "mesonbuild/**"
- "test cases/**"
- ".github/workflows/cygwin.yml"
- "run*tests.py"
jobs:
test:
runs-on: windows-latest
name: ${{ matrix.NAME }}
strategy:
fail-fast: false
matrix:
include:
- NAME: gccx64ninja
ARCH: x86_64
steps:
# cache should be saved on failure, but the action doesn't support that
# https://github.com/actions/cache/issues/92
- uses: actions/cache@v1
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@v2
- 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
ninja
python2-devel
python3-devel
python3-libxml2
python3-libxslt
python38-pip
python38-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 jsonschema pefile pytest pytest-xdist
shell: C:\cygwin\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}'
- name: Run tests
run: |
export PATH=/usr/bin:/usr/local/bin:$(cygpath ${SYSTEMROOT})/system32
python3 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@v2
with:
name: ${{ matrix.NAME }}
path: meson-test-run.*
# test log should be saved on failure
if: ${{ !cancelled() }}

@ -6,7 +6,17 @@ on:
- master
# Stable branches such as 0.56 or the eventual 1.0
- '[0-9]+.[0-9]+'
paths:
- "mesonbuild/**"
- "test cases/**"
- ".github/workflows/nonative.yml"
- "run*tests.py"
pull_request:
paths:
- "mesonbuild/**"
- "test cases/**"
- ".github/workflows/nonative.yml"
- "run*tests.py"
jobs:
cross-only-armhf:

@ -69,75 +69,3 @@ jobs:
addToPath: true
architecture: 'x64'
- template: ci/azure-steps.yml
- job: cygwin
timeoutInMinutes: 120
pool:
vmImage: VS2017-Win2016
strategy:
matrix:
gccx64ninja: {}
variables:
CYGWIN_ROOT: $(System.Workfolder)\cygwin
CYGWIN_MIRROR: http://cygwin.mirror.constant.com
steps:
- script: |
choco install cygwin --params="/InstallDir:%CYGWIN_ROOT%"
displayName: Install Cygwin
- script: |
%CYGWIN_ROOT%\cygwinsetup.exe -qnNdO -R "%CYGWIN_ROOT%" -s "%CYGWIN_MIRROR%" -g -P ^
gcc-fortran,^
gcc-objc++,^
gcc-objc,^
git,^
gobject-introspection,^
gtk-doc,^
libarchive13,^
libboost-devel,^
libglib2.0-devel,^
libgtk3-devel,^
libjsoncpp19,^
librhash0,^
libuv1,^
libxml2,^
libxml2-devel,^
libxslt,^
libxslt-devel,^
ninja,^
python2-devel,^
python3-devel,^
python3-libxml2,^
python3-libxslt,^
python38-pip,^
vala,^
wget,^
cmake,^
zlib-devel
displayName: Install Dependencies
- script: |
set PATH=%CYGWIN_ROOT%\bin;%SYSTEMROOT%\system32
env.exe -- python3 -m pip --disable-pip-version-check install gcovr pefile pytest-xdist jsonschema
displayName: pip install gcovr pefile pytest-xdist jsonschema
- script: |
set BOOST_ROOT=
set PATH=%CYGWIN_ROOT%\bin;%SYSTEMROOT%\system32
set SKIP_STATIC_BOOST=1
env.exe -- python3 run_tests.py --backend=ninja
# Cygwin's static boost installation is broken (some static library
# variants such as boost_thread are not present)
displayName: Run Tests
- task: CopyFiles@2
condition: not(canceled())
inputs:
contents: 'meson-test-run.*'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
inputs:
artifactName: $(System.JobName)
# publishing artifacts from PRs from a fork is currently blocked
condition: and(eq(variables['system.pullrequest.isfork'], false), not(canceled()))
- task: PublishTestResults@2
condition: not(canceled())
inputs:
testResultsFiles: meson-test-run.xml
testRunTitle: $(System.JobName)

Loading…
Cancel
Save