diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml new file mode 100644 index 000000000..32d33d869 --- /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 fd6045f35..1fc43b4cc 100644 --- a/.github/workflows/nonative.yml +++ b/.github/workflows/nonative.yml @@ -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: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 497579b9a..14ff1bd12 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -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)