diff options
-rw-r--r-- | .gitlab-ci.yml | 120 |
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 |