diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 114 |
1 files changed, 71 insertions, 43 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c0d0330..f48f1ab 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,48 +2,45 @@ stages: - build - deploy -variables: - GIT_SUBMODULE_STRATEGY: normal - .build_template: &build_definition stage: build arm32_dbg: <<: *build_definition image: lv2plugin/debian-arm32 - script: python ./waf configure build -dST --werror --no-coverage - variables: - CC: "arm-linux-gnueabihf-gcc" - CXX: "arm-linux-gnueabihf-g++" + script: + - meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build arm32_rel: <<: *build_definition image: lv2plugin/debian-arm32 - script: python ./waf configure build -ST --werror --no-coverage - variables: - CC: "arm-linux-gnueabihf-gcc" - CXX: "arm-linux-gnueabihf-g++" + script: + - meson setup build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build + arm64_dbg: <<: *build_definition image: lv2plugin/debian-arm64 - script: python ./waf configure build -dST --werror --no-coverage - variables: - CC: "aarch64-linux-gnu-gcc" - CXX: "aarch64-linux-gnu-g++" + script: + - meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build arm64_rel: <<: *build_definition image: lv2plugin/debian-arm64 - script: python ./waf configure build -ST --werror --no-coverage - variables: - CC: "aarch64-linux-gnu-gcc" - CXX: "aarch64-linux-gnu-g++" + script: + - meson setup build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build + x64_dbg: <<: *build_definition image: lv2plugin/debian-x64 - script: python3 ./waf configure build -dST --werror --no-coverage --docs + script: + - meson setup build -Dbuildtype=debug -Ddocs=enabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build artifacts: paths: - build/doc @@ -51,60 +48,91 @@ x64_dbg: x64_rel: <<: *build_definition image: lv2plugin/debian-x64 - script: python ./waf configure build -ST --werror --no-coverage + script: + - meson setup build -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build + + +x64_static: + <<: *build_definition + image: lv2plugin/debian-x64 + script: + - meson setup build -Ddefault_library=static -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build + + +x64_sanitize: + <<: *build_definition + image: lv2plugin/debian-x64-clang + script: + - meson setup build -Db_lundef=false -Dbuildtype=plain -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build + variables: + CC: "clang" + CXX: "clang++" + CFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" + CXXFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" + LDFLAGS: "-fno-sanitize-recover=all -fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" + mingw32_dbg: <<: *build_definition image: lv2plugin/debian-mingw32 - script: python ./waf configure build -dST --werror --no-coverage --target=win32 - variables: - CC: "i686-w64-mingw32-gcc" - CXX: "i686-w64-mingw32-g++" + script: + - meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build mingw32_rel: <<: *build_definition image: lv2plugin/debian-mingw32 - script: python ./waf configure build -ST --werror --no-coverage --target=win32 - variables: - CC: "i686-w64-mingw32-gcc" - CXX: "i686-w64-mingw32-g++" + script: + - meson setup build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build + mingw64_dbg: <<: *build_definition image: lv2plugin/debian-mingw64 - script: python ./waf configure build -dST --werror --no-coverage --target=win32 - variables: - CC: "x86_64-w64-mingw32-gcc" - CXX: "x86_64-w64-mingw32-g++" + script: + - meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build mingw64_rel: <<: *build_definition image: lv2plugin/debian-mingw64 - script: python ./waf configure build -ST --werror --no-coverage --target=win32 - variables: - CC: "x86_64-w64-mingw32-gcc" - CXX: "x86_64-w64-mingw32-g++" + script: + - meson setup build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build + mac_dbg: <<: *build_definition - script: python ./waf configure build -dST --werror --no-coverage tags: [macos] + script: + - meson setup build -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build mac_rel: <<: *build_definition - script: python ./waf configure build -ST --werror --no-coverage tags: [macos] + script: + - meson setup build -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build + win_dbg: <<: *build_definition + tags: [windows,meson] script: - - python ./waf configure build -dST --werror --no-coverage - tags: [windows,msvc,python] + - meson setup build -Dbuildtype=debug -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build win_rel: <<: *build_definition - script: python ./waf configure build -ST --werror --no-coverage - tags: [windows,msvc,python] + tags: [windows,meson] + script: + - meson setup build -Dbuildtype=release -Ddocs=disabled -Dwerror=true -Dexamples=true -Dtests=true + - ninja -C build pages: stage: deploy |