Serd subproject with meson
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.

217 lines
4.7 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/coverage", "build/doc"]
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"]
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/images
- mv build/doc/*.svg .public/images
- mv build/doc/html/ .public/doc/html
- mv build/coverage/ .public/coverage
- mv build/doc/index.html .public/index.html
- mv build/doc/serdi.html .public/man/serdi.html
- mv .public public
artifacts:
paths:
- public
only:
- master