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