Wrote a script to diff all the jobs we have so I can matrix-ify them.

This commit is contained in:
Pietro Gagliardi 2019-04-07 16:34:22 -04:00
parent 0969f43196
commit 9b483d972d
3 changed files with 342 additions and 1 deletions

View File

@ -346,7 +346,7 @@ jobs:
osHeader: ui_darwin.h
- job: darwin_amd64_static
displayName: 'Darwin amd64 10.14 SDK Static'
displayName: 'Darwin amd64 Static'
pool:
vmImage: 'macos-10.13'
workspace:

43
collapse.awk Normal file
View File

@ -0,0 +1,43 @@
# 7 april 2019
BEGIN {
RS = ""
FS = "\n +- "
}
/^- job:/ {
for (i = 1; i <= NF; i++) {
if (!(i in nextindex)) {
# fast path for first occurrence
lines[i, 0] = $i
nextindex[i] = 1
if (maxIndex < i)
maxIndex = i
continue
}
found = 0
for (j = 0; j < nextindex[i]; j++)
if (lines[i, j] == $i) {
found = 1
break
}
if (!found) {
lines[i, nextindex[i]] = $i
nextindex[i]++
}
}
}
END {
for (i = 1; i <= maxIndex; i++) {
if (nextindex[i] == 1) {
# only one entry here, just print it
print "- " lines[i, 0]
continue
}
print "{"
for (j = 0; j < nextindex[i]; j++)
print "- " lines[i, j]
print "}"
}
}

298
collapsed Normal file
View File

@ -0,0 +1,298 @@
{
- - job: linux_386_shared
displayName: 'Linux 386 Shared'
pool:
vmImage: 'ubuntu-16.04'
workspace:
clean: all
steps:
- - job: linux_386_static
displayName: 'Linux 386 Static'
pool:
vmImage: 'ubuntu-16.04'
workspace:
clean: all
steps:
- - job: linux_amd64_shared
displayName: 'Linux amd64 Shared'
pool:
vmImage: 'ubuntu-16.04'
workspace:
clean: all
steps:
- - job: linux_amd64_static
displayName: 'Linux amd64 Static'
pool:
vmImage: 'ubuntu-16.04'
workspace:
clean: all
steps:
- - job: windows_386_msvc2015_shared
displayName: 'Windows 386 MSVC2015 Shared'
pool:
vmImage: 'vs2015-win2012r2'
workspace:
clean: all
steps:
- - job: windows_386_msvc2015_static
displayName: 'Windows 386 MSVC2015 Static'
pool:
vmImage: 'vs2015-win2012r2'
workspace:
clean: all
steps:
- - job: windows_amd64_msvc2015_shared
displayName: 'Windows amd64 MSVC2015 Shared'
pool:
vmImage: 'vs2015-win2012r2'
workspace:
clean: all
steps:
- - job: windows_amd64_msvc2015_static
displayName: 'Windows amd64 MSVC2015 Static'
pool:
vmImage: 'vs2015-win2012r2'
workspace:
clean: all
steps:
- - job: windows_386_msvc2017_shared
displayName: 'Windows 386 MSVC2017 Shared'
pool:
vmImage: 'vs2017-win2016'
workspace:
clean: all
steps:
- - job: windows_386_msvc2017_static
displayName: 'Windows 386 MSVC2017 Static'
pool:
vmImage: 'vs2017-win2016'
workspace:
clean: all
steps:
- - job: windows_amd64_msvc2017_shared
displayName: 'Windows amd64 MSVC2017 Shared'
pool:
vmImage: 'vs2017-win2016'
workspace:
clean: all
steps:
- - job: windows_amd64_msvc2017_static
displayName: 'Windows amd64 MSVC2017 Static'
pool:
vmImage: 'vs2017-win2016'
workspace:
clean: all
steps:
- - job: darwin_amd64_shared
displayName: 'Darwin amd64 Shared'
pool:
vmImage: 'macos-10.13'
workspace:
clean: all
steps:
- - job: darwin_amd64_static
displayName: 'Darwin amd64 Static'
pool:
vmImage: 'macos-10.13'
workspace:
clean: all
steps:
}
{
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/vs2015-install-python3.yml
}
- template: azure-pipelines/install-latest-meson.yml
{
- template: azure-pipelines/linux-386-install-gtk-dev-ninja.yml
- template: azure-pipelines/linux-install-gtk-dev-ninja.yml
- template: azure-pipelines/windows-install-ninja.yml
- template: azure-pipelines/darwin-install-ninja.yml
}
{
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: export CFLAGS=-m32 CXXFLAGS=-m32 PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig
defaultLibrary: shared
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: export CFLAGS=-m32 CXXFLAGS=-m32 PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig
defaultLibrary: static
- template: azure-pipelines/configure.yml
parameters:
defaultLibrary: shared
- template: azure-pipelines/configure.yml
parameters:
defaultLibrary: static
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
defaultLibrary: shared
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
defaultLibrary: static
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
defaultLibrary: shared
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
defaultLibrary: static
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
defaultLibrary: shared
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
defaultLibrary: static
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
defaultLibrary: shared
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
defaultLibrary: static
}
{
- template: azure-pipelines/build.yml
- template: azure-pipelines/build.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
- template: azure-pipelines/build.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
afterBuild: ren build\meson-out\libui.a libui.lib
- template: azure-pipelines/build.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
- template: azure-pipelines/build.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
afterBuild: ren build\meson-out\libui.a libui.lib
- template: azure-pipelines/build.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
- template: azure-pipelines/build.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
afterBuild: ren build\meson-out\libui.a libui.lib
- template: azure-pipelines/build.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
- template: azure-pipelines/build.yml
parameters:
beforeBuild: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
afterBuild: ren build\meson-out\libui.a libui.lib
}
{
- template: azure-pipelines/artifacts.yml
parameters:
os: linux
arch: 386
libtype: shared
libfiles: libui.so.0
osHeader: ui_unix.h
- template: azure-pipelines/artifacts.yml
parameters:
os: linux
arch: 386
libtype: static
libfiles: libui.a
osHeader: ui_unix.h
- template: azure-pipelines/artifacts.yml
parameters:
os: linux
arch: amd64
libtype: shared
libfiles: libui.so.0
osHeader: ui_unix.h
- template: azure-pipelines/artifacts.yml
parameters:
os: linux
arch: amd64
libtype: static
libfiles: libui.a
osHeader: ui_unix.h
- template: azure-pipelines/windows-artifacts.yml
parameters:
os: windows
arch: 386
toolchain: msvc2015
libtype: shared
libfiles: libui.dll libui.exp libui.lib
osHeader: ui_windows.h
- template: azure-pipelines/windows-artifacts.yml
parameters:
os: windows
arch: 386
toolchain: msvc2015
libtype: static
libfiles: libui.lib
osHeader: ui_windows.h
- template: azure-pipelines/windows-artifacts.yml
parameters:
os: windows
arch: amd64
toolchain: msvc2015
libtype: shared
libfiles: libui.dll libui.exp libui.lib
osHeader: ui_windows.h
- template: azure-pipelines/windows-artifacts.yml
parameters:
os: windows
arch: amd64
toolchain: msvc2015
libtype: static
libfiles: libui.lib
osHeader: ui_windows.h
- template: azure-pipelines/windows-artifacts.yml
parameters:
os: windows
arch: 386
toolchain: msvc2017
libtype: shared
libfiles: libui.dll libui.exp libui.lib
osHeader: ui_windows.h
- template: azure-pipelines/windows-artifacts.yml
parameters:
os: windows
arch: 386
toolchain: msvc2017
libtype: static
libfiles: libui.lib
osHeader: ui_windows.h
- template: azure-pipelines/windows-artifacts.yml
parameters:
os: windows
arch: amd64
toolchain: msvc2017
libtype: shared
libfiles: libui.dll libui.exp libui.lib
osHeader: ui_windows.h
- template: azure-pipelines/windows-artifacts.yml
parameters:
os: windows
arch: amd64
toolchain: msvc2017
libtype: static
libfiles: libui.lib
osHeader: ui_windows.h
- template: azure-pipelines/artifacts.yml
parameters:
os: darwin
arch: amd64
libtype: shared
libfiles: libui.A.dylib
osHeader: ui_darwin.h
- template: azure-pipelines/artifacts.yml
parameters:
os: darwin
arch: amd64
libtype: static
libfiles: libui.a
osHeader: ui_darwin.h
}