summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml114
1 files changed, 51 insertions, 63 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6191bba..9c32bfc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,106 +1,94 @@
-# Copyright 2019-2022 David Robillard <d@drobilla.net>
+# Copyright 2019-2023 David Robillard <d@drobilla.net>
# SPDX-License-Identifier: 0BSD OR GPL-3.0-or-later
-arm32_dbg:
- image: lv2plugin/debian-arm32
- script:
- - meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=debug -Dwarning_level=3 -Dwerror=true
- - 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 -Dwarning_level=3 -Dwerror=true
- - ninja -C build test
-
-
-arm64_dbg:
- image: lv2plugin/debian-arm64
- script:
- - meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=debug -Dwarning_level=3 -Dwerror=true
- - 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 -Dwarning_level=3 -Dwerror=true
- - ninja -C build test
-
-
-x32_dbg:
- image: lv2plugin/debian-x32
- script:
- - meson setup build --cross-file=/usr/share/meson/cross/i686-linux-gnu.ini -Dbuildtype=debug -Dwarning_level=3 -Dwerror=true
- - ninja -C build test
-
-x32_rel:
- image: lv2plugin/debian-x32
+default:
+ image: lv2plugin/debian-x64
script:
- - meson setup build --cross-file=/usr/share/meson/cross/i686-linux-gnu.ini -Dbuildtype=release -Dwarning_level=3 -Dwerror=true
+ - meson setup build -Dwerror=true
- ninja -C build test
-
-x64_dbg:
+dev:
image: lv2plugin/debian-x64
script:
- meson setup build -Dbuildtype=debug -Dwarning_level=3 -Dwerror=true -Db_coverage=true
- 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/meson-logs/coveragereport
-x64_rel:
- image: lv2plugin/debian-x64
- script:
- - meson setup build -Dbuildtype=release -Dwarning_level=3 -Dwerror=true
- - ninja -C build test
-
-
-x64_static:
+static:
image: lv2plugin/debian-x64
script:
- meson setup build -Ddefault_library=static -Dwarning_level=3 -Dwerror=true
- ninja -C build test
-
-x64_sanitize:
+sanitize:
image: lv2plugin/debian-x64-clang
script:
- - meson setup build -Db_lundef=false -Dbuildtype=plain -Dwarning_level=3 -Dwerror=true
+ script:
+ - meson setup build -Db_lundef=false -Dbuildtype=plain -Dwarning_level=3 -Dwerror=true -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"
+ - ninja -C build test
+ - meson configure build -Dbuildtype=debugoptimized -Dcpp_args="" -Dcpp_link_args=""
+ - meson configure build -Db_sanitize=memory
- ninja -C build test
variables:
CXX: "clang++"
- CXXFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability"
- LDFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability"
+# Linux Platforms
-mac_dbg:
- tags: [macos]
+arm32:
+ image: lv2plugin/debian-arm32
script:
- - meson setup build -Dbuildtype=debug -Dwarning_level=3 -Dwerror=true
+ - meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=debug -Dwarning_level=3 -Dwerror=true
+ - ninja -C build test
+ - meson configure -Dbuildtype=release build
- ninja -C build test
-mac_rel:
- tags: [macos]
+arm64:
+ image: lv2plugin/debian-arm64
script:
- - meson setup build -Dbuildtype=release -Dwarning_level=3 -Dwerror=true
+ - meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=debug -Dwarning_level=3 -Dwerror=true
+ - ninja -C build test
+ - meson configure -Dbuildtype=release build
- ninja -C build test
+x32:
+ image: lv2plugin/debian-x32
+ script:
+ - meson setup build --cross-file=/usr/share/meson/cross/i686-linux-gnu.ini -Dbuildtype=debug -Dwarning_level=3 -Dwerror=true
+ - ninja -C build test
+ - meson configure -Dbuildtype=release build
+ - ninja -C build test
-win_dbg:
- tags: [windows,meson]
+# Non-Linux/Docker rows (not hosted)
+
+freebsd:
+ tags: [freebsd,meson]
script:
- meson setup build -Dbuildtype=debug -Dwarning_level=everything -Dwerror=true
- ninja -C build test
+ - meson configure -Dbuildtype=release build
+ - ninja -C build test
-win_rel:
- tags: [windows,meson]
+mac:
+ tags: [macos]
script:
- - meson setup build -Dbuildtype=release -Dwarning_level=everything -Dwerror=true
+ - meson setup build -Dbuildtype=debug -Dwarning_level=3 -Dwerror=true
+ - ninja -C build test
+ - meson configure -Dbuildtype=release build
- ninja -C build test
+win:
+ tags: [windows,meson]
+ script:
+ - meson setup build -Dbuildtype=debug -Dwarning_level=everything -Dwerror=true
+ - ninja -C build test
+ - meson configure -Dbuildtype=release build
+ - ninja -C build test
pages:
stage: deploy
@@ -109,7 +97,7 @@ pages:
- mv build/meson-logs/coveragereport/ .public/coverage
- mv .public public
needs:
- - x64_dbg
+ - dev
artifacts:
paths:
- public