stages: - build - test variables: GIT_SUBMODULE_STRATEGY: normal .build_template: &build_definition stage: build 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 variables: CC: "arm-linux-gnueabihf-gcc" CXX: "arm-linux-gnueabihf-g++" test:arm32_dbg: <<: *test_definition image: lv2plugin/debian-arm32 script: python ./waf test --wrapper=qemu-arm needs: ["arm32_dbg"] arm32_rel: <<: *build_definition image: lv2plugin/debian-arm32 script: python ./waf configure build -ST --werror variables: CC: "arm-linux-gnueabihf-gcc" CXX: "arm-linux-gnueabihf-g++" test:arm32_rel: <<: *test_definition image: lv2plugin/debian-arm32 script: python ./waf test --wrapper=qemu-arm needs: ["arm32_rel"] arm64_dbg: <<: *build_definition image: lv2plugin/debian-arm64 script: python ./waf configure build -dST --werror variables: 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 variables: 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 needs: ["x64_dbg"] 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"] x64_static: <<: *build_definition image: lv2plugin/debian-x64 script: python ./waf configure build -ST --werror test:x64_static: <<: *test_definition image: lv2plugin/debian-x64 script: python ./waf test needs: ["x64_static"] x64_sanitize: <<: *build_definition image: lv2plugin/debian-x64-clang script: python ./waf configure build -ST --werror --no-coverage --no-test-malloc variables: CC: "clang" CFLAGS: "-fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" CXX: "clang++" CXXFLAGS: "-fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" LINKFLAGS: "-fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability" test:x64_sanitize: <<: *test_definition image: lv2plugin/debian-x64-clang script: python ./waf test needs: ["x64_sanitize"] mingw32_dbg: <<: *build_definition image: lv2plugin/debian-mingw32 script: python ./waf configure build -dST --werror --no-coverage variables: 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 variables: CC: "i686-w64-mingw32-gcc" CXX: "i686-w64-mingw32-g++" mingw64_dbg: <<: *build_definition image: lv2plugin/debian-mingw64 script: python ./waf configure build -dST --werror --no-coverage variables: 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 variables: 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"] 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"] 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"] 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"] tags: [windows,msvc,python]