summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-04-21 21:03:05 +0200
committerDavid Robillard <d@drobilla.net>2019-04-21 21:38:07 +0200
commit7f74a423015a98e9ed4e2778e6042e82077b4e16 (patch)
tree987b89eb2d8d9a2f57b140da6f87cbfcb00e476e
parenta2cf87694d45a1d8f6f6a3f8d3b36a72beae2ec0 (diff)
downloadraul-7f74a423015a98e9ed4e2778e6042e82077b4e16.tar.gz
raul-7f74a423015a98e9ed4e2778e6042e82077b4e16.tar.bz2
raul-7f74a423015a98e9ed4e2778e6042e82077b4e16.zip
Add Gitlab CI configuration
-rw-r--r--.gitlab-ci.yml184
1 files changed, 184 insertions, 0 deletions
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