aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Reiter <reiter.christoph@gmail.com>2020-07-12 15:25:24 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2020-11-04 18:13:58 +0200
commitf000fa407d8663e3c90c089afdccf9ffbd66341f (patch)
tree08d601f87cea81601860b97d949cd1a2a18939d9
parent6d816c1800dd7e81238a0b4615b42a2802296f93 (diff)
downloadmeson-f000fa407d8663e3c90c089afdccf9ffbd66341f.zip
meson-f000fa407d8663e3c90c089afdccf9ffbd66341f.tar.gz
meson-f000fa407d8663e3c90c089afdccf9ffbd66341f.tar.bz2
CI: Port MSYS2 from azure-pipelines to github actions
This uses the msys2/setup-msys2@v2 to set up MSYS2
-rw-r--r--.github/workflows/msys2.yml86
-rw-r--r--azure-pipelines.yml73
2 files changed, 86 insertions, 73 deletions
diff --git a/.github/workflows/msys2.yml b/.github/workflows/msys2.yml
new file mode 100644
index 0000000..b4cebe2
--- /dev/null
+++ b/.github/workflows/msys2.yml
@@ -0,0 +1,86 @@
+name: msys2
+
+on:
+ push:
+ pull_request:
+
+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
+
+ defaults:
+ run:
+ shell: msys2 {0}
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: msys2/setup-msys2@v2
+ with:
+ msystem: ${{ matrix.MSYSTEM }}
+ update: true
+ install: >-
+ base-devel
+ git
+ mercurial
+ lcov
+ mingw-w64-${{ matrix.MSYS2_ARCH }}-cmake
+ 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 }}-${{ matrix.TOOLCHAIN }}
+
+ - name: Install dependencies
+ run: |
+ python3 -m pip --disable-pip-version-check install gcovr jsonschema pefile
+
+ - name: Run Tests
+ run: |
+ export BOOST_ROOT=
+ export PATHEXT="$PATHEXT;.py"
+
+ if [[ '${{ matrix.COMPILER }}' == 'clang' ]]; then
+ export CC=clang
+ export CXX=clang++
+ export OBJC=clang
+ export OBJCXX=clang++
+ fi
+
+ if [[ "${{ matrix.MSYS2_CURSES }}" != "" ]]; then
+ pacman --noconfirm --needed -S mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.MSYS2_CURSES }}
+ fi
+
+ MSYSTEM= python3 run_tests.py --backend=ninja
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: ${{ matrix.NAME }}
+ path: meson-test-run.* \ No newline at end of file
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 569216c..d830ade 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -141,76 +141,3 @@ jobs:
inputs:
testResultsFiles: meson-test-run.xml
testRunTitle: $(System.JobName)
-
-- job: msys2
- pool:
- vmImage: VS2017-Win2016
- strategy:
- matrix:
- gccx86ninja:
- MSYSTEM: MINGW32
- MSYS2_ARCH: i686
- MSYS2_CURSES: ncurses
- compiler: gcc
- gccx64ninja:
- MSYSTEM: MINGW64
- MSYS2_ARCH: x86_64
- MSYS2_CURSES: pdcurses
- MESON_RSP_THRESHOLD: 0
- compiler: gcc
- clangx64ninja:
- MSYSTEM: MINGW64
- MSYS2_ARCH: x86_64
- MSYS2_CURSES:
- compiler: clang
- variables:
- MSYS2_ROOT: $(System.Workfolder)\msys64
- steps:
- - script: |
- choco install msys2 --params="/InstallDir:%MSYS2_ROOT% /NoUpdate /NoPath"
- displayName: Install MSYS2
- - script: |
- set PATH=%MSYS2_ROOT%\usr\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
- if %compiler%==gcc ( set "TOOLCHAIN=mingw-w64-$(MSYS2_ARCH)-toolchain" ) else ( set "TOOLCHAIN=mingw-w64-$(MSYS2_ARCH)-clang" )
- %MSYS2_ROOT%\usr\bin\pacman --noconfirm --needed -S ^
- base-devel ^
- git ^
- mercurial ^
- mingw-w64-$(MSYS2_ARCH)-cmake ^
- mingw-w64-$(MSYS2_ARCH)-lcov ^
- mingw-w64-$(MSYS2_ARCH)-libxml2 ^
- mingw-w64-$(MSYS2_ARCH)-ninja ^
- mingw-w64-$(MSYS2_ARCH)-pkg-config ^
- mingw-w64-$(MSYS2_ARCH)-python2 ^
- mingw-w64-$(MSYS2_ARCH)-python3 ^
- mingw-w64-$(MSYS2_ARCH)-python3-lxml ^
- mingw-w64-$(MSYS2_ARCH)-python3-setuptools ^
- mingw-w64-$(MSYS2_ARCH)-python3-pip ^
- %TOOLCHAIN%
- if not "%MSYS2_CURSES%" == "" ( %MSYS2_ROOT%\usr\bin\pacman --noconfirm --needed -S mingw-w64-$(MSYS2_ARCH)-$(MSYS2_CURSES) )
- %MSYS2_ROOT%\usr\bin\bash -lc "python3 -m pip --disable-pip-version-check install gcovr jsonschema pefile"
- displayName: Install Dependencies
- - script: |
- set BOOST_ROOT=
- set PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
- set PATHEXT=%PATHEXT%;.py
- if %compiler%==clang ( set CC=clang && set CXX=clang++ && set OBJC=clang && set OBJCXX=clang++ )
- %MSYS2_ROOT%\usr\bin\bash -lc "MSYSTEM= python3 run_tests.py --backend=ninja"
- env:
- CHERE_INVOKING: yes
- 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)