From 5e2dd5b2e07858d3b87291f4abdaf886e15de0b8 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Wed, 21 Nov 2018 21:00:08 +0100 Subject: [PATCH] CI: port msys2 jobs from appveyor to azure-pipelines --- .appveyor.yml | 15 -------------- azure-pipelines.yml | 50 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 15 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index bb2231b3c..515e147fc 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -14,14 +14,6 @@ environment: backend: vs2015 BOOST_ROOT: C:\Libraries\Boost_1_60_0 - - arch: x86 - compiler: msys2-mingw - backend: ninja - - - arch: x64 - compiler: msys2-mingw - backend: ninja - platform: - x64 @@ -76,13 +68,6 @@ install: # Set paths and config for each build type. - cmd: if %compiler%==msvc2015 ( call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %arch% ) - cmd: if %compiler%==msvc2017 ( call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=%arch% ) - # MinGW setup, lines are split to prevent "The input line is too long." error. - - cmd: if %arch%==x86 ( set "PACMAN_ARCH=i686" ) else ( set "PACMAN_ARCH=x86_64" ) - - cmd: if %arch%==x86 ( set "PACMAN_BITS=32" ) else ( set "PACMAN_BITS=64" ) - - cmd: if %compiler%==msys2-mingw ( set "PATH=C:\msys64\mingw%PACMAN_BITS%\bin;%PATH%" ) - - cmd: if %compiler%==msys2-mingw ( set "MESON_PYTHON_PATH=C:\msys64\mingw%PACMAN_BITS%\bin" ) - - cmd: if %compiler%==msys2-mingw ( set "PYTHON=python3" ) - - cmd: if %compiler%==msys2-mingw ( C:\msys64\usr\bin\pacman -S --needed --noconfirm "mingw%PACMAN_BITS%/mingw-w64-%PACMAN_ARCH%-python3" "mingw%PACMAN_BITS%/mingw-w64-%PACMAN_ARCH%-python3-setuptools" ) - cmd: set "PATH=%cd%;%MESON_PYTHON_PATH%;%PATH%;" diff --git a/azure-pipelines.yml b/azure-pipelines.yml index a18b48fb9..71437ec9d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -99,3 +99,53 @@ jobs: inputs: testResultsFiles: meson-test-run.xml testRunTitle: $(System.JobName) + +- job: msys2_mingw + pool: + vmImage: VS2017-Win2016 + strategy: + matrix: + gccx86ninja: + MSYSTEM: MINGW32 + MSYS2_ARCH: i686 + gccx64ninja: + MSYSTEM: MINGW64 + MSYS2_ARCH: x86_64 + 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 + %MSYS2_ROOT%\usr\bin\pacman --noconfirm -Syyuu + %MSYS2_ROOT%\usr\bin\pacman --noconfirm -Syuu + displayName: Update MSYS2 + - script: | + set PATH=%MSYS2_ROOT%\usr\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem + %MSYS2_ROOT%\usr\bin\pacman --noconfirm --needed -S git base-devel mingw-w64-$(MSYS2_ARCH)-toolchain mingw-w64-$(MSYS2_ARCH)-python3 mingw-w64-$(MSYS2_ARCH)-python3-setuptools mingw-w64-$(MSYS2_ARCH)-python2 mercurial + displayName: Install Dependencies + - script: | + set PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem + %MSYS2_ROOT%\usr\bin\bash -lc "wget https://github.com/mesonbuild/cidata/raw/master/ninja.exe; mv ninja.exe /$MSYSTEM/bin" + set PATHEXT=%PATHEXT%;.py + %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)