summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2022-11-15 16:42:18 -0500
committerDavid Robillard <d@drobilla.net>2022-11-16 10:55:33 -0500
commitee1777083a6958fc37664c6ebade7bb9b28a8894 (patch)
tree9f686c8763b76f55a4299a36e0b3318443842968
parenta92c84a1a42b771b21384b4175192d3aee8e93ca (diff)
downloaddrobillad-ee1777083a6958fc37664c6ebade7bb9b28a8894.tar.gz
drobillad-ee1777083a6958fc37664c6ebade7bb9b28a8894.tar.bz2
drobillad-ee1777083a6958fc37664c6ebade7bb9b28a8894.zip
Arrange CI rows more logically
This is organized in a way that hopefully makes more sense when viewed in a report. It also puts "basic" cases first, to ensure that tedious configuration issues are caught as early as possible when running rows sequentially for local testing.
-rw-r--r--.gitlab-ci.yml120
1 files changed, 52 insertions, 68 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cc69af9..22cc955 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,67 +1,37 @@
+# Copyright 2019-2022 David Robillard <d@drobilla.net>
+# SPDX-License-Identifier: 0BSD OR ISC
+
stages:
- build
variables:
GIT_SUBMODULE_STRATEGY: recursive
-.build_template: &build_definition
+default:
stage: build
-
-arm32_dbg:
- <<: *build_definition
- image: lv2plugin/debian-arm32
- script:
- - meson setup build --wrap-mode=forcefallback --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
- - ninja -C build test
-
-arm32_rel:
- <<: *build_definition
- image: lv2plugin/debian-arm32
+ image: lv2plugin/debian-x64
script:
- - meson setup build --wrap-mode=forcefallback --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
+ - meson setup build -Dwerror=true
- ninja -C build test
-
-arm64_dbg:
- <<: *build_definition
- image: lv2plugin/debian-arm64
- script:
- - meson setup build --wrap-mode=forcefallback --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
- - ninja -C build test
-
-arm64_rel:
- <<: *build_definition
- image: lv2plugin/debian-arm64
- script:
- - meson setup build --wrap-mode=forcefallback --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
- - ninja -C build test
-
-
-x64_dbg:
- <<: *build_definition
+dev:
+ stage: build
image: lv2plugin/debian-x64-big
script:
- meson setup build --wrap-mode=forcefallback -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
-
-x64_rel:
- <<: *build_definition
- image: lv2plugin/debian-x64-big
- script:
- - meson setup build --wrap-mode=forcefallback -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
+ - meson configure -Dbuildtype=release -Db_coverage=false build
- ninja -C build test
-
-x64_static:
- <<: *build_definition
+static:
+ stage: build
image: lv2plugin/debian-x64-big
script:
- meson setup build --wrap-mode=forcefallback -Ddefault_library=static -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
-
-x64_sanitize:
- <<: *build_definition
+sanitize:
+ stage: build
image: lv2plugin/debian-x64-clang
script:
- meson setup build --wrap-mode=forcefallback -Db_lundef=false -Dbuildtype=plain -Ddocs=disabled -Dstrict=true -Dwerror=true
@@ -73,9 +43,10 @@ x64_sanitize:
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 distributions
fedora:
- <<: *build_definition
+ stage: build
image: lv2plugin/fedora-dev
script:
- meson setup build --wrap-mode=forcefallback -Dbuildtype=plain -Dstrict=true -Dwerror=true
@@ -83,47 +54,60 @@ fedora:
variables:
CFLAGS: -O2 -D_FORTIFY_SOURCE=2
+# Linux Platforms
-freebsd_dbg:
- <<: *build_definition
- tags: [freebsd,meson]
+arm32:
+ stage: build
+ image: lv2plugin/debian-arm32
script:
- - meson setup build --wrap-mode=forcefallback -Dbuildtype=debug -Dstrict=true -Dwerror=true -Ddocs=disabled
+ - meson setup build --wrap-mode=forcefallback --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
+ - ninja -C build test
+ - meson configure -Dbuildtype=release build
- ninja -C build test
-freebsd_rel:
- <<: *build_definition
- tags: [freebsd,meson]
+arm64:
+ stage: build
+ image: lv2plugin/debian-arm64
script:
- - meson setup build --wrap-mode=forcefallback -Dbuildtype=release -Dstrict=true -Dwerror=true -Ddocs=disabled
+ - meson setup build --wrap-mode=forcefallback --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
+ - ninja -C build test
+ - meson configure -Dbuildtype=release build
- ninja -C build test
-
-mac_dbg:
- <<: *build_definition
- tags: [macos]
+x32:
+ stage: build
+ image: lv2plugin/debian-x32
script:
- - meson setup build --wrap-mode=forcefallback -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
+ - meson setup build --cross-file=/usr/share/meson/cross/i686-linux-gnu.ini -Dbuildtype=debug -Dstrict=true -Dwerror=true -Ddocs=disabled
+ - ninja -C build test
+ - meson configure -Dbuildtype=release build
- ninja -C build test
-mac_rel:
- <<: *build_definition
- tags: [macos]
+# Non-Linux/Docker rows (not hosted)
+
+freebsd:
+ stage: build
+ tags: [freebsd,meson]
script:
- - meson setup build --wrap-mode=forcefallback -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
+ - meson setup build --wrap-mode=forcefallback -Dbuildtype=debug -Dstrict=true -Dwerror=true -Ddocs=disabled
+ - ninja -C build test
+ - meson configure -Dbuildtype=release build
- ninja -C build test
-
-win_dbg:
- <<: *build_definition
- tags: [windows,meson]
+mac:
+ stage: build
+ tags: [macos]
script:
- meson setup build --wrap-mode=forcefallback -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
- ninja -C build test
+ - meson configure -Dbuildtype=release build
+ - ninja -C build test
-win_rel:
- <<: *build_definition
+win:
+ stage: build
tags: [windows,meson]
script:
- - meson setup build --wrap-mode=forcefallback -Dbuildtype=release -Ddocs=disabled -Dstrict=true -Dwerror=true
+ - meson setup build --wrap-mode=forcefallback -Dbuildtype=debug -Ddocs=disabled -Dstrict=true -Dwerror=true
+ - ninja -C build test
+ - meson configure -Dbuildtype=release build
- ninja -C build test