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