summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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