summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2022-10-26 20:30:59 -0400
committerDavid Robillard <d@drobilla.net>2022-10-26 20:50:02 -0400
commit6414fa6f033c8504aca74c52ff02dc6b9596dcbe (patch)
treef92b30e3764967cc25e74213df0f337eb4463210
parentaa6083928859207fe65d6710f5c6a6fbab61efef (diff)
downloadzix-6414fa6f033c8504aca74c52ff02dc6b9596dcbe.tar.gz
zix-6414fa6f033c8504aca74c52ff02dc6b9596dcbe.tar.bz2
zix-6414fa6f033c8504aca74c52ff02dc6b9596dcbe.zip
Merge debug and release rows on CI
Although this parallelizes more or less perfectly, it's much less expensive overall to combine the builds. Spinning up images is expensive, and we're not in that much of a hurry. Being cheaper overall, this speeds up the sequential local test run significantly.
-rw-r--r--.gitlab-ci.yml96
1 files changed, 22 insertions, 74 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0f3c41b..cb7f1bc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,59 +1,43 @@
# Copyright 2019-2022 David Robillard <d@drobilla.net>
# SPDX-License-Identifier: 0BSD OR ISC
-arm32_dbg:
+arm32:
image: lv2plugin/debian-arm32
script:
- meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=debug -Dstrict=true -Dwerror=true -Ddocs=disabled
- ninja -C build test
-
-arm32_rel:
- image: lv2plugin/debian-arm32
- script:
- - meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=release -Dstrict=true -Dwerror=true -Ddocs=disabled
+ - meson configure -Dbuildtype=release build
- ninja -C build test
-
-arm64_dbg:
+arm64:
image: lv2plugin/debian-arm64
script:
- meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=debug -Dstrict=true -Dwerror=true -Ddocs=disabled
- ninja -C build test
-
-arm64_rel:
- image: lv2plugin/debian-arm64
- script:
- - meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=release -Dstrict=true -Dwerror=true -Ddocs=disabled
+ - meson configure -Dbuildtype=release build
- ninja -C build test
-
-x64_dbg:
+x64:
image: lv2plugin/debian-x64
script:
- meson setup build -Dbuildtype=debug -Dstrict=true -Dwerror=true -Db_coverage=true -Ddocs=enabled
- ninja -C build test
- ninja -C build coverage-html
+ - meson configure -Dbuildtype=release -Db_coverage=false build
+ - ninja -C build test
coverage: '/ *lines\.*: \d+\.\d+.*/'
artifacts:
paths:
- build/doc
- build/meson-logs/coveragereport
-x64_rel:
- image: lv2plugin/debian-x64
- script:
- - meson setup build -Dbuildtype=release -Dstrict=true -Dwerror=true -Ddocs=disabled
- - ninja -C build test
-
-
-x64_static:
+static:
image: lv2plugin/debian-x64
script:
- meson setup build -Ddefault_library=static -Dstrict=true -Dwerror=true -Ddocs=disabled
- ninja -C build test
-
-x64_sanitize:
+sanitize:
image: lv2plugin/debian-x64-clang
script:
- meson setup build -Db_lundef=false -Dbuildtype=plain -Dstrict=true -Dwerror=true -Dc_args="-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" -Dc_link_args="-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" -Dcpp_args="-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero" -Dcpp_link_args="-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero" -Ddocs=disabled
@@ -66,7 +50,6 @@ x64_sanitize:
variables:
CC: "clang"
-
fedora:
image: lv2plugin/fedora-dev
script:
@@ -75,93 +58,58 @@ fedora:
variables:
CFLAGS: -O2 -D_FORTIFY_SOURCE=2
-
-freebsd_dbg:
+freebsd:
tags: [freebsd,meson]
script:
- meson setup build -Dbuildtype=debug -Dstrict=true -Dwerror=true -Ddocs=disabled
- ninja -C build test
-
-freebsd_rel:
- tags: [freebsd,meson]
- script:
- - meson setup build -Dbuildtype=release -Dstrict=true -Dwerror=true -Ddocs=disabled
+ - meson configure -Dbuildtype=release build
- ninja -C build test
-
-mingw32_dbg:
+mingw32:
image: lv2plugin/debian-mingw32
script:
- meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=debug -Dstrict=true -Dwerror=true -Ddocs=disabled
- ninja -C build test
- variables:
- WINEPATH: "Z:\\usr\\lib\\gcc\\i686-w64-mingw32\\10-win32"
-
-mingw32_rel:
- image: lv2plugin/debian-mingw32
- script:
- - meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=release -Dstrict=true -Dwerror=true -Ddocs=disabled
+ - meson configure -Dbuildtype=release build
- ninja -C build test
variables:
WINEPATH: "Z:\\usr\\lib\\gcc\\i686-w64-mingw32\\10-win32"
-
-mingw64_dbg:
+mingw64:
image: lv2plugin/debian-mingw64
script:
- meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=debug -Dstrict=true -Dwerror=true -Ddocs=disabled
- ninja -C build test
- variables:
- WINEPATH: "Z:\\usr\\lib\\gcc\\x86_64-w64-mingw32\\10-win32"
-
-mingw64_rel:
- image: lv2plugin/debian-mingw64
- script:
- - meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=release -Dstrict=true -Dwerror=true -Ddocs=disabled
+ - meson configure -Dbuildtype=release build
- ninja -C build test
variables:
WINEPATH: "Z:\\usr\\lib\\gcc\\x86_64-w64-mingw32\\10-win32"
-
-mac_dbg:
+mac:
tags: [macos]
script:
- meson setup build -Dbuildtype=debug -Dstrict=true -Dwerror=true
- ninja -C build test
-
-mac_rel:
- tags: [macos]
- script:
- - meson setup build -Dbuildtype=release -Dstrict=true -Dwerror=true -Ddocs=disabled
+ - meson configure -Dbuildtype=release build
- ninja -C build test
-
-win_dbg:
+win:
tags: [windows,meson]
script:
- meson setup build -Dbuildtype=debug -Dstrict=true -Dwerror=true -Ddocs=disabled
- ninja -C build test
-
-win_rel:
- tags: [windows,meson]
- script:
- - meson setup build -Dbuildtype=release -Dstrict=true -Dwerror=true -Ddocs=disabled
+ - meson configure -Dbuildtype=release build
- ninja -C build test
-
-wasm_dbg:
+wasm:
image: lv2plugin/debian-wasm
script:
- meson setup build --cross-file=/usr/share/meson/cross/wasm.ini -Dbuildtype=debug -Dstrict=true -Dwerror=true -Ddefault_library=static -Ddocs=disabled
- ninja -C build test
-
-wasm_rel:
- image: lv2plugin/debian-wasm
- script:
- - meson setup build --cross-file=/usr/share/meson/cross/wasm.ini -Dbuildtype=release -Dstrict=true -Dwerror=true -Ddefault_library=static -Ddocs=disabled
+ - meson configure -Dbuildtype=release build
- ninja -C build test
-
pages:
script:
- mkdir -p .public/doc
@@ -170,7 +118,7 @@ pages:
- mv build/doc/html .public/doc/
- mv .public public
needs:
- - x64_dbg
+ - x64
artifacts:
paths:
- public