diff options
-rw-r--r-- | .gitlab-ci.yml | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..6808109 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,206 @@ +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 + 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 + 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 + 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 + 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 --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 + +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 + +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 --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 --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 --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 --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 --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 --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 -dT --no-coverage + tags: + - windows + +test:win_dbg: + <<: *test_definition + script: python ./waf test + needs: ["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 + needs: ["win_rel"] + tags: + - windows |