aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/exess/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/exess/.gitlab-ci.yml')
-rw-r--r--subprojects/exess/.gitlab-ci.yml168
1 files changed, 168 insertions, 0 deletions
diff --git a/subprojects/exess/.gitlab-ci.yml b/subprojects/exess/.gitlab-ci.yml
new file mode 100644
index 00000000..52426131
--- /dev/null
+++ b/subprojects/exess/.gitlab-ci.yml
@@ -0,0 +1,168 @@
+stages:
+ - build
+ - deploy
+
+.build_template: &build_definition
+ stage: build
+
+
+arm32_dbg:
+ <<: *build_definition
+ image: lv2plugin/debian-arm32
+ script:
+ - meson . build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=debug -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+arm32_rel:
+ <<: *build_definition
+ image: lv2plugin/debian-arm32
+ script:
+ - meson . build --cross-file=/usr/share/meson/cross/arm-linux-gnueabihf.ini -Dbuildtype=release -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+
+arm64_dbg:
+ <<: *build_definition
+ image: lv2plugin/debian-arm64
+ script:
+ - meson . build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=debug -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+arm64_rel:
+ <<: *build_definition
+ image: lv2plugin/debian-arm64
+ script:
+ - meson . build --cross-file=/usr/share/meson/cross/aarch64-linux-gnu.ini -Dbuildtype=release -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+
+x32_dbg:
+ <<: *build_definition
+ image: lv2plugin/debian-x32
+ script:
+ - meson . build --cross-file=/usr/share/meson/cross/i686-linux-gnu.ini -Dbuildtype=debug -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+x32_rel:
+ <<: *build_definition
+ image: lv2plugin/debian-x32
+ script:
+ - meson . build --cross-file=/usr/share/meson/cross/i686-linux-gnu.ini -Dbuildtype=release -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+
+x64_dbg:
+ <<: *build_definition
+ image: lv2plugin/debian-x64
+ script:
+ - meson . build -Dbuildtype=debug -Dstrict=true -Dwerror=true -Db_coverage=true
+ - ninja -C build test
+ - ninja -C build coverage-html
+ artifacts:
+ paths:
+ - build/meson-logs/coveragereport
+
+x64_rel:
+ <<: *build_definition
+ image: lv2plugin/debian-x64
+ script:
+ - meson . build -Dbuildtype=release -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+
+x64_static:
+ <<: *build_definition
+ image: lv2plugin/debian-x64
+ script:
+ - meson . build -Ddefault_library=static -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+
+x64_sanitize:
+ <<: *build_definition
+ image: lv2plugin/debian-x64-clang
+ script:
+ - meson . build -Db_lundef=false -Dbuildtype=plain -Dstrict=true -Dwerror=true
+ - ninja -C build test
+ variables:
+ CC: "clang"
+ CFLAGS: "-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"
+
+
+mingw32_dbg:
+ <<: *build_definition
+ image: lv2plugin/debian-mingw32
+ script:
+ - meson . build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=debug -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+mingw32_rel:
+ <<: *build_definition
+ image: lv2plugin/debian-mingw32
+ script:
+ - meson . build --cross-file=/usr/share/meson/cross/i686-w64-mingw32.ini -Dbuildtype=release -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+
+mingw64_dbg:
+ <<: *build_definition
+ image: lv2plugin/debian-mingw64
+ script:
+ - meson . build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=debug -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+mingw64_rel:
+ <<: *build_definition
+ image: lv2plugin/debian-mingw64
+ script:
+ - meson . build --cross-file=/usr/share/meson/cross/x86_64-w64-mingw32.ini -Dbuildtype=release -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+
+mac_dbg:
+ <<: *build_definition
+ tags: [macos]
+ script:
+ - meson . build -Dbuildtype=debug -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+mac_rel:
+ <<: *build_definition
+ tags: [macos]
+ script:
+ - meson . build -Dbuildtype=release -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+
+win_dbg:
+ <<: *build_definition
+ tags: [windows,meson]
+ script:
+ - meson . build -Dbuildtype=debug -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+win_rel:
+ <<: *build_definition
+ tags: [windows,meson]
+ script:
+ - meson . build -Dbuildtype=release -Dstrict=true -Dwerror=true
+ - ninja -C build test
+
+
+pages:
+ stage: deploy
+ script:
+ - mkdir -p .public/doc
+ - mkdir -p .public/c
+ - mv build/meson-logs/coveragereport/ .public/coverage
+ - mv build/doc/c/singlehtml .public/c/singlehtml
+ - mv build/doc/c/html .public/c/html
+ - mv .public public
+ dependencies:
+ - x64_dbg
+ artifacts:
+ paths:
+ - public
+ only:
+ - master