Even more templateization, including splitting the Python and meson steps into templates. The next template will be the Meson template, and that will be fun :V

This commit is contained in:
Pietro Gagliardi 2019-04-05 01:29:43 -04:00
parent 7a108adc4a
commit cd2d5ea78e
7 changed files with 91 additions and 101 deletions

View File

@ -8,7 +8,7 @@ jobs:
workspace:
clean: all
steps:
# Ubuntu typically comes with an outdated meson
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
sudo apt-get install libgtk-3-dev ninja-build
@ -16,9 +16,7 @@ jobs:
- script: |
meson setup build --buildtype=release --default-library=shared --backend=ninja
displayName: 'Configure'
- script: |
ninja -C build
displayName: 'Build'
- template: azure-pipelines/build-ninja.yml
- job: linux_amd64_static_ninja
displayName: 'Linux amd64 Static with Ninja'
@ -27,6 +25,7 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
sudo apt-get install libgtk-3-dev ninja-build
@ -34,9 +33,7 @@ jobs:
- script: |
meson setup build --buildtype=release --default-library=static --backend=ninja
displayName: 'Configure'
- script: |
ninja -C build
displayName: 'Build'
- template: azure-pipelines/build-ninja.yml
# vs2015 {
@ -47,16 +44,16 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/vs2015-install-latest-python3-meson.yml
- template: azure-pipelines/vs2015-install-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/windows-install-ninja.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
meson setup build --buildtype=release --default-library=shared --backend=ninja
displayName: 'Configure'
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
ninja -C build
displayName: 'Build'
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
- job: windows_386_msvc2015_static_ninja
displayName: 'Windows 386 MSVC2015 Static Ninja'
@ -65,16 +62,16 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/vs2015-install-latest-python3-meson.yml
- template: azure-pipelines/vs2015-install-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/windows-install-ninja.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
meson setup build --buildtype=release --default-library=static --backend=ninja
displayName: 'Configure'
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
ninja -C build
displayName: 'Build'
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
- job: windows_386_msvc2015_shared_msbuild
displayName: 'Windows 386 MSVC2015 Shared with MSBuild'
@ -83,16 +80,13 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/vs2015-install-latest-python3-meson.yml
- template: azure-pipelines/vs2015-install-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
meson setup build --buildtype=release --default-library=shared --backend=vs2015
displayName: 'Configure'
- task: MSBuild@1
inputs:
solution: 'build/*.sln'
maximumCpuCount: true
displayName: 'Build'
- template: azure-pipelines/build-msbuild.yml
- job: windows_386_msvc2015_static_msbuild
displayName: 'Windows 386 MSVC2015 Static with MSBuild'
@ -101,16 +95,13 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/vs2015-install-latest-python3-meson.yml
- template: azure-pipelines/vs2015-install-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
meson setup build --buildtype=release --default-library=static --backend=vs2015
displayName: 'Configure'
- task: MSBuild@1
inputs:
solution: 'build/*.sln'
maximumCpuCount: true
displayName: 'Build'
- template: azure-pipelines/build-msbuild.yml
- job: windows_amd64_msvc2015_shared_ninja
displayName: 'Windows amd64 MSVC2015 Shared Ninja'
@ -119,16 +110,16 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/vs2015-install-latest-python3-meson.yml
- template: azure-pipelines/vs2015-install-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/windows-install-ninja.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
meson setup build --buildtype=release --default-library=shared --backend=ninja
displayName: 'Configure'
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
ninja -C build
displayName: 'Build'
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
- job: windows_amd64_msvc2015_static_ninja
displayName: 'Windows amd64 MSVC2015 Static Ninja'
@ -137,16 +128,16 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/vs2015-install-latest-python3-meson.yml
- template: azure-pipelines/vs2015-install-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/windows-install-ninja.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
meson setup build --buildtype=release --default-library=static --backend=ninja
displayName: 'Configure'
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
ninja -C build
displayName: 'Build'
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
- job: windows_amd64_msvc2015_shared_msbuild
displayName: 'Windows amd64 MSVC2015 Shared with MSBuild'
@ -155,16 +146,13 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/vs2015-install-latest-python3-meson.yml
- template: azure-pipelines/vs2015-install-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
meson setup build --buildtype=release --default-library=shared --backend=vs2015
displayName: 'Configure'
- task: MSBuild@1
inputs:
solution: 'build/*.sln'
maximumCpuCount: true
displayName: 'Build'
- template: azure-pipelines/build-msbuild.yml
- job: windows_amd64_msvc2015_static_msbuild
displayName: 'Windows amd64 MSVC2015 Static with MSBuild'
@ -173,19 +161,18 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/vs2015-install-latest-python3-meson.yml
- template: azure-pipelines/vs2015-install-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
meson setup build --buildtype=release --default-library=static --backend=vs2015
displayName: 'Configure'
- task: MSBuild@1
inputs:
solution: 'build/*.sln'
maximumCpuCount: true
displayName: 'Build'
- template: azure-pipelines/build-msbuild.yml
# }
# vs2017 {
- job: windows_386_msvc2017_shared_ninja
displayName: 'Windows 386 MSVC2017 Shared Ninja'
pool:
@ -193,16 +180,16 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/windows-install-ninja.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
meson setup build --buildtype=release --default-library=shared --backend=ninja
displayName: 'Configure'
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
ninja -C build
displayName: 'Build'
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
- job: windows_386_msvc2017_static_ninja
displayName: 'Windows 386 MSVC2017 Static Ninja'
@ -211,16 +198,16 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/windows-install-ninja.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
meson setup build --buildtype=release --default-library=static --backend=ninja
displayName: 'Configure'
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
ninja -C build
displayName: 'Build'
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
- job: windows_386_msvc2017_shared_msbuild
displayName: 'Windows 386 MSVC2017 Shared with MSBuild'
@ -229,16 +216,13 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
meson setup build --buildtype=release --default-library=shared --backend=vs2017
displayName: 'Configure'
- task: MSBuild@1
inputs:
solution: 'build/*.sln'
maximumCpuCount: true
displayName: 'Build'
- template: azure-pipelines/build-msbuild.yml
- job: windows_386_msvc2017_static_msbuild
displayName: 'Windows 386 MSVC2017 Static with MSBuild'
@ -247,16 +231,13 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
meson setup build --buildtype=release --default-library=static --backend=vs2017
displayName: 'Configure'
- task: MSBuild@1
inputs:
solution: 'build/*.sln'
maximumCpuCount: true
displayName: 'Build'
- template: azure-pipelines/build-msbuild.yml
- job: windows_amd64_msvc2017_shared_ninja
displayName: 'Windows amd64 MSVC2017 Shared Ninja'
@ -265,16 +246,16 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/windows-install-ninja.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
meson setup build --buildtype=release --default-library=shared --backend=ninja
displayName: 'Configure'
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
ninja -C build
displayName: 'Build'
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
- job: windows_amd64_msvc2017_static_ninja
displayName: 'Windows amd64 MSVC2017 Static Ninja'
@ -283,16 +264,16 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/windows-install-ninja.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
meson setup build --buildtype=release --default-library=static --backend=ninja
displayName: 'Configure'
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
ninja -C build
displayName: 'Build'
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
- job: windows_amd64_msvc2017_shared_msbuild
displayName: 'Windows amd64 MSVC2017 Shared with MSBuild'
@ -301,16 +282,13 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
meson setup build --buildtype=release --default-library=shared --backend=vs2017
displayName: 'Configure'
- task: MSBuild@1
inputs:
solution: 'build/*.sln'
maximumCpuCount: true
displayName: 'Build'
- template: azure-pipelines/build-msbuild.yml
- job: windows_amd64_msvc2017_static_msbuild
displayName: 'Windows amd64 MSVC2017 Static with MSBuild'
@ -319,20 +297,15 @@ jobs:
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
meson setup build --buildtype=release --default-library=static --backend=vs2017
displayName: 'Configure'
- task: MSBuild@1
inputs:
solution: 'build/*.sln'
maximumCpuCount: true
displayName: 'Build'
- template: azure-pipelines/build-msbuild.yml
# }
# mac:
# imageName: 'macos-10.13'
# windowsVS2017:
# imageName: 'vs2017-win2016'
# windowsVS2015:
# imageName: 'vs2015-win2012r2'

View File

@ -0,0 +1,8 @@
# 5 april 2019
steps:
- task: MSBuild@1
inputs:
solution: 'build/*.sln'
maximumCpuCount: true
displayName: 'Build'

View File

@ -0,0 +1,10 @@
# 5 april 2019
parameters:
beforeBuild: ''
steps:
- script: |
${{ parameters.beforeBuild }}
ninja -C build
displayName: 'Build'

View File

@ -1,12 +1,6 @@
# 4 april 2019
# TODO figure out how to make the script step runnable in parallel with the other dependency installation steps
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.6'
architecture: 'x64'
- script: |
python -m pip install --upgrade pip setuptools wheel
pip install meson

View File

@ -0,0 +1,7 @@
# 4 april 2019
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.6'
architecture: 'x64'

View File

@ -1,5 +1,6 @@
# 4 april 2019
# see https://github.com/Microsoft/azure-pipelines-image-generation/issues/374 for context and source
steps:
- script: |
powershell -Command "Invoke-WebRequest https://www.python.org/ftp/python/3.7.1/python-3.7.1-amd64-webinstall.exe -OutFile C:\py3-setup.exe"
@ -7,7 +8,3 @@ steps:
@echo ##vso[task.prependpath]C:\Python37
@echo ##vso[task.prependpath]C:\Python37\Scripts
displayName: 'Install Python 3'
- script: |
python -m pip install --upgrade pip setuptools wheel
pip install meson
displayName: 'Install Latest Meson'

View File

@ -1,5 +1,6 @@
# 4 april 2019
# why this? because choco isn't available on the VS2015 image and is extremely slow on the VS2017 one (it should not take 2.5 minutes to install just ninja!)
steps:
- script: |
powershell -Command "Invoke-WebRequest https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip -OutFile C:\ninja-win.zip"