summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-04-21 23:14:17 +0200
committerDavid Robillard <d@drobilla.net>2020-08-03 19:40:25 +0200
commit96cf160d5ab7ea9e67758e2f6fa7ac4c4cd51b34 (patch)
treea7a283fdda38d5ecedcbe7fa7e70788e5adf85d6
parent1d58f3306fb70feb0a5bd44fdcb1e0823c54d3e3 (diff)
downloaddrobillad-96cf160d5ab7ea9e67758e2f6fa7ac4c4cd51b34.tar.gz
drobillad-96cf160d5ab7ea9e67758e2f6fa7ac4c4cd51b34.tar.bz2
drobillad-96cf160d5ab7ea9e67758e2f6fa7ac4c4cd51b34.zip
Add Gitlab CI configuration
-rw-r--r--.gitlab-ci.yml146
1 files changed, 146 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..6ddb623
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,146 @@
+stages: [build, test]
+
+variables:
+ GIT_SUBMODULE_STRATEGY: recursive
+
+.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 --wrapper=qemu-arm
+ 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 --wrapper=qemu-arm
+ 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 --wrapper=qemu-aarch64
+ 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 --wrapper=qemu-aarch64
+ 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
+
+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"]
+
+
+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 -sT --no-coverage
+ tags: [windows,msvc,python]
+
+test:win_dbg:
+ <<: *test_definition
+ script: python ./waf test
+ needs: ["win_dbg"]
+ tags: [windows,msvc,python]
+
+
+win_rel:
+ <<: *build_definition
+ script: python ./waf configure build -sT --no-coverage
+ tags: [windows,msvc,python]
+
+test:win_rel:
+ <<: *test_definition
+ script: python ./waf test
+ needs: ["win_rel"]
+ tags: [windows,msvc,python]