aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml139
1 files changed, 43 insertions, 96 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c9e3db17..41438bd3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-stages: [build, test, deploy]
+stages: [build, deploy]
variables:
GIT_SUBMODULE_STRATEGY: normal
@@ -8,123 +8,84 @@ variables:
artifacts:
paths: ["build/", ".lock-waf*"]
-.test_template: &test_definition
- stage: test
- artifacts:
- paths: [build/coverage]
-
arm32_dbg:
<<: *build_definition
image: lv2plugin/debian-arm32
- script: python ./waf configure build -dST --werror
+ script:
+ - python3 ./waf configure build test -dST --no-coverage --werror --wrapper=qemu-arm-static
variables:
+ AR: "arm-linux-gnueabihf-ar"
CC: "arm-linux-gnueabihf-gcc"
+ CFLAGS: "-O0 -g -D_FILE_OFFSET_BITS=64"
CXX: "arm-linux-gnueabihf-g++"
-
-test:arm32_dbg:
- <<: *test_definition
- image: lv2plugin/debian-arm32
- script: python ./waf test --wrapper=qemu-arm
- needs: ["arm32_dbg"]
-
+ CXXFLAGS: "-O0 -g -D_FILE_OFFSET_BITS=64"
arm32_rel:
<<: *build_definition
image: lv2plugin/debian-arm32
- script: python ./waf configure build -ST --werror
+ script:
+ - python3 ./waf configure build -ST --werror --no-coverage --wrapper=qemu-arm-static
variables:
+ AR: "arm-linux-gnueabihf-ar"
CC: "arm-linux-gnueabihf-gcc"
+ CFLAGS: "-O2 -DNDEBUG -D_FILE_OFFSET_BITS=64"
CXX: "arm-linux-gnueabihf-g++"
-
-test:arm32_rel:
- <<: *test_definition
- image: lv2plugin/debian-arm32
- script: python ./waf test --wrapper=qemu-arm
- needs: ["arm32_rel"]
+ CXXFLAGS: "-O2 -DNDEBUG -D_FILE_OFFSET_BITS=64"
arm64_dbg:
<<: *build_definition
image: lv2plugin/debian-arm64
- script: python ./waf configure build -dST --werror
+ script:
+ - python3 ./waf configure build test -dST --werror --no-coverage --wrapper=qemu-aarch64-static
variables:
+ AR: "aarch64-linux-gnu-ar"
CC: "aarch64-linux-gnu-gcc"
CXX: "aarch64-linux-gnu-g++"
-test:arm64_dbg:
- <<: *test_definition
- image: lv2plugin/debian-arm64
- script: python ./waf test --wrapper=qemu-aarch64
- needs: ["arm64_dbg"]
-
-
arm64_rel:
<<: *build_definition
image: lv2plugin/debian-arm64
- script: python ./waf configure build -ST --werror
+ script:
+ - python3 ./waf configure build test -ST --werror --no-coverage --wrapper=qemu-aarch64-static
variables:
+ AR: "aarch64-linux-gnu-ar"
CC: "aarch64-linux-gnu-gcc"
CXX: "aarch64-linux-gnu-g++"
-test:arm64_rel:
- <<: *test_definition
- image: lv2plugin/debian-arm64
- script: python ./waf test --wrapper=qemu-aarch64
- needs: ["arm64_rel"]
-
x64_dbg:
<<: *build_definition
image: lv2plugin/debian-x64
- script: python ./waf configure build -dST --werror --docs
-
-test:x64_dbg:
- <<: *test_definition
- image: lv2plugin/debian-x64
script:
- - python ./waf test
+ - python3 ./waf configure build test -dST --werror --docs
- mkdir -p build/doc/
- cp doc/*.svg build/doc/
- cp doc/mandoc.css build/doc/
- mandoc -Thtml -Werror -O style=mandoc.css doc/serdi.1 > build/doc/serdi.html
- needs: ["x64_dbg"]
artifacts:
paths:
- build/doc
- build/coverage
-
x64_rel:
<<: *build_definition
image: lv2plugin/debian-x64
- script: python ./waf configure build -ST --werror
-
-test:x64_rel:
- <<: *test_definition
- image: lv2plugin/debian-x64
- script: python ./waf test
- needs: ["x64_rel"]
-
+ script:
+ - python3 ./waf configure build test -ST --werror
x64_static:
<<: *build_definition
image: lv2plugin/debian-x64
- script: python ./waf configure build -ST --werror --no-posix --static-progs
-
-test:x64_static:
- <<: *test_definition
- image: lv2plugin/debian-x64
- script: python ./waf test
- needs: ["x64_static"]
-
+ script:
+ - python3 ./waf configure build test -ST --werror --no-posix --static-progs
x64_sanitize:
<<: *build_definition
image: lv2plugin/debian-x64-clang
script:
- - python ./waf configure build -ST --werror --no-coverage
- - python ./waf test
+ - python3 ./waf configure build test -ST --werror --no-coverage
variables:
CC: "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"
@@ -136,16 +97,20 @@ x64_sanitize:
mingw32_dbg:
<<: *build_definition
image: lv2plugin/debian-mingw32
- script: python ./waf configure build -dST --werror --no-coverage
+ script:
+ - python3 ./waf configure build -dST --werror --no-coverage --wrapper=wine
variables:
+ AR: "i686-w64-mingw32-ar"
CC: "i686-w64-mingw32-gcc"
CXX: "i686-w64-mingw32-g++"
mingw32_rel:
<<: *build_definition
image: lv2plugin/debian-mingw32
- script: python ./waf configure build -ST --werror --no-coverage
+ script:
+ - python3 ./waf configure build -ST --werror --no-coverage --wrapper=wine
variables:
+ AR: "i686-w64-mingw32-ar"
CC: "i686-w64-mingw32-gcc"
CXX: "i686-w64-mingw32-g++"
@@ -153,65 +118,47 @@ mingw32_rel:
mingw64_dbg:
<<: *build_definition
image: lv2plugin/debian-mingw64
- script: python ./waf configure build -dST --werror --no-coverage
+ script:
+ - python3 ./waf configure build -dST --werror --no-coverage --wrapper=wine
variables:
+ AR: "x86_64-w64-mingw32-ar"
CC: "x86_64-w64-mingw32-gcc"
CXX: "x86_64-w64-mingw32-g++"
mingw64_rel:
<<: *build_definition
image: lv2plugin/debian-mingw64
- script: python ./waf configure build -ST --werror --no-coverage
+ script:
+ - python3 ./waf configure build -ST --werror --no-coverage --wrapper=wine
variables:
+ AR: "x86_64-w64-mingw32-ar"
CC: "x86_64-w64-mingw32-gcc"
CXX: "x86_64-w64-mingw32-g++"
mac_dbg:
<<: *build_definition
- script: python ./waf configure build -dST --werror --no-coverage
- tags: [macos]
-
-test:mac_dbg:
- <<: *test_definition
- script: python ./waf test
- needs: ["mac_dbg"]
+ script:
+ - python ./waf configure build test -dST --werror --no-coverage
tags: [macos]
-
mac_rel:
<<: *build_definition
- script: python ./waf configure build -ST --werror --no-coverage
- tags: [macos]
-
-test:mac_rel:
- <<: *test_definition
- script: python ./waf test
- needs: ["mac_rel"]
+ script:
+ - python ./waf configure build test -ST --werror --no-coverage
tags: [macos]
win_dbg:
<<: *build_definition
- script: python ./waf configure build -dST --werror --no-coverage
- tags: [windows,msvc,python]
-
-test:win_dbg:
- <<: *test_definition
- script: python ./waf test
- needs: ["win_dbg"]
+ script:
+ - python ./waf configure build test -dST --werror --no-coverage
tags: [windows,msvc,python]
-
win_rel:
<<: *build_definition
- script: python ./waf configure build -ST --werror --no-coverage
- tags: [windows,msvc,python]
-
-test:win_rel:
- <<: *test_definition
- script: python ./waf test
- needs: ["win_rel"]
+ script:
+ - python ./waf configure build test -ST --werror --no-coverage
tags: [windows,msvc,python]