You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
229 lines
5.5 KiB
229 lines
5.5 KiB
stages: [build, test, deploy] |
|
|
|
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 |
|
- cp doc/*.svg build/doc/ |
|
- groff -Thtml -P -l -P -r -man -wall 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"] |
|
|
|
|
|
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"] |
|
|
|
|
|
x64_sanitize: |
|
<<: *build_definition |
|
image: lv2plugin/debian-x64-clang |
|
script: |
|
- python ./waf configure build -ST --werror --no-coverage |
|
- python ./waf test |
|
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" |
|
CXX: "clang++" |
|
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" |
|
LINKFLAGS: "-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 |
|
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] |
|
|
|
|
|
pages: |
|
stage: deploy |
|
script: |
|
- mkdir -p .public/doc |
|
- mkdir -p .public/man |
|
- mkdir -p .public/c |
|
- mv build/doc/c/singlehtml .public/c/singlehtml |
|
- mv build/doc/serdi.html .public/man/serdi.html |
|
- mv .public public |
|
artifacts: |
|
paths: |
|
- public |
|
# only: |
|
# - master
|
|
|