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.

210 lines
3.8 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
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
dependencies:
- arm32_dbg
arm32_rel:
<<: *build_definition
image: lv2plugin/debian-arm32
script: python ./waf configure build -sT
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
dependencies:
- arm32_rel
arm64_dbg:
<<: *build_definition
image: lv2plugin/debian-arm64
script: python ./waf configure build -dsT
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
dependencies:
- arm64_dbg
arm64_rel:
<<: *build_definition
image: lv2plugin/debian-arm64
script: python ./waf configure build -sT
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
dependencies:
- arm64_rel
x64_dbg:
<<: *build_definition
image: lv2plugin/debian-x64
script: python ./waf configure build -dsT --docs
test:x64_dbg:
<<: *test_definition
image: lv2plugin/debian-x64
script:
- python ./waf test
- groff -Thtml -P -l -P -r -man -wall doc/serdi.1 > build/doc/serdi.html
dependencies:
- x64_dbg
artifacts:
paths:
- build/coverage
- build/doc
x64_rel:
<<: *build_definition
image: lv2plugin/debian-x64
script: python ./waf configure build -sT
test:x64_rel:
<<: *test_definition
image: lv2plugin/debian-x64
script: python ./waf test
dependencies:
- x64_rel
x64_static:
<<: *build_definition
image: lv2plugin/debian-x64
script: python ./waf configure build -sT --no-posix --static-progs
test:x64_static:
<<: *test_definition
image: lv2plugin/debian-x64
script: python ./waf test
dependencies:
- x64_static
mac_dbg:
<<: *build_definition
script: python ./waf configure build -dsT --no-coverage
tags:
- macos
test:mac_dbg:
<<: *test_definition
script: python ./waf test
dependencies:
- mac_dbg
tags:
- macos
mac_rel:
<<: *build_definition
script: python ./waf configure build -sT --no-coverage
tags:
- macos
test:mac_rel:
<<: *test_definition
script: python ./waf test
dependencies:
- mac_rel
tags:
- macos
win_dbg:
<<: *build_definition
script:
- python ./waf configure build -dT --no-coverage
tags:
- windows
test:win_dbg:
<<: *test_definition
script: python ./waf test
dependencies:
- win_dbg
tags:
- windows
win_rel:
<<: *build_definition
script: python ./waf configure build -T --no-coverage
tags:
- windows
test:win_rel:
<<: *test_definition
script: python ./waf test
dependencies:
- win_rel
tags:
- windows
pages:
stage: deploy
script:
- mkdir -p .public/doc
- mkdir -p .public/man
- 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
dependencies:
- test:x64_dbg
artifacts:
paths:
- public
only:
- master