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