summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-10-18 13:36:41 +0200
committerDavid Robillard <d@drobilla.net>2019-10-18 20:15:53 +0200
commit31e917e4819bba47c7dcd89b6b37f98622e88c0b (patch)
tree40f1f88fdca3db83dce3a1a2335f3ab72ff142e3 /.gitlab-ci.yml
parentab1eae13ea414e4e4647b27fc89d2020f91680ce (diff)
downloadzix-31e917e4819bba47c7dcd89b6b37f98622e88c0b.tar.gz
zix-31e917e4819bba47c7dcd89b6b37f98622e88c0b.tar.bz2
zix-31e917e4819bba47c7dcd89b6b37f98622e88c0b.zip
Add Gitlab CI configuration
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml206
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