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.
diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml
new file mode 100644
index 0000000..32d33d8
--- /dev/null
+++ b/.github/workflows/cygwin.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() }}
diff --git a/.github/workflows/nonative.yml b/.github/workflows/nonative.yml
index fd6045f..1fc43b4 100644
--- a/.github/workflows/nonative.yml
+++ b/.github/workflows/nonative.yml
@@ -6,7 +6,17 @@
- 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:
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 497579b..14ff1bd 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -69,75 +69,3 @@
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)