From 7f74a423015a98e9ed4e2778e6042e82077b4e16 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 21 Apr 2019 21:03:05 +0200 Subject: Add Gitlab CI configuration --- .gitlab-ci.yml | 184 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..b0a8c22 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,184 @@ +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 + +test:x64_dbg: + <<: *test_definition + image: lv2plugin/debian-x64 + script: python ./waf test + dependencies: + - 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 + dependencies: + - x64_rel + + +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 -ST --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 -ST --no-coverage + tags: + - windows + +test:win_rel: + <<: *test_definition + script: python ./waf test + dependencies: + - win_rel + tags: + - windows + + +pages: + stage: deploy + script: mv build/coverage/ public/ + dependencies: + - test:x64_dbg + artifacts: + expire_in: 30 days + paths: + - public + only: + - master -- cgit v1.2.1