# Copyright 2019-2022 David Robillard # SPDX-License-Identifier: 0BSD OR ISC stages: - build variables: GIT_SUBMODULE_STRATEGY: recursive default: stage: build image: lv2plugin/debian-x64 script: - meson setup build -Dwerror=true - ninja -C build test 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 - meson configure -Dbuildtype=release -Db_coverage=false build - ninja -C build test 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 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 - ninja -C build test variables: CC: "clang" CXX: "clang++" CFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" 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: stage: build image: lv2plugin/fedora-dev script: - meson setup build --wrap-mode=forcefallback -Dbuildtype=plain -Dstrict=true -Dwerror=true - ninja -C build test variables: CFLAGS: -O2 -D_FORTIFY_SOURCE=2 # Linux Platforms arm32: stage: build 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 - meson configure -Dbuildtype=release build - ninja -C build test arm64: stage: build 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 - meson configure -Dbuildtype=release build - ninja -C build test x32: stage: build image: lv2plugin/debian-x32 script: - 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 # Non-Linux/Docker rows (not hosted) freebsd: stage: build tags: [freebsd,meson] script: - 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 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: stage: build tags: [windows,meson] 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