diff options
Diffstat (limited to '.gitlab-ci.yml')
| -rw-r--r-- | .gitlab-ci.yml | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..6f91102 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,159 @@ +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 + 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 + +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 -dT --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 -T --no-coverage + tags: [windows,msvc,python] + +test:win_rel: + <<: *test_definition + script: python ./waf test + needs: [win_rel] + tags: [windows,msvc,python] + + +pages: + stage: deploy + script: mv build/coverage/ public/ + needs: ["test:x64_dbg"] + artifacts: + expire_in: 30 days + paths: [public] + rules: + - if: $CI_MERGE_REQUEST_ID + when: never + - when: on_success |