image: docker:28-dind services: - docker:dind # Because we're using rules: in stages, we now also need to explicitly prevent running a CI for the merge requests themselves too # See also https://docs.gitlab.com/ee/ci/yaml/workflow.html#switch-between-branch-pipelines-and-merge-request-pipelines workflow: rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" when: never - if: $CI_COMMIT_BRANCH default: before_script: - ( which apk && apk add bash curl git openssh ) || true # execute on alpine only artifacts: paths: - artifacts when: always expire_in: 1 week reports: junit: artifacts/junit.xml interruptible: true stages: - test variables: GIT_SUBMODULE_STRATEGY: recursive runtest-vs-main: stage: test script: - curl -s https://build.webhare.dev/ci/scripts/testmodule.sh | bash -s -- -w main runtest-vs-beta: rules: - if: $SCHEDULE_FOR_WH_BRANCH == "master" when: never - when: always stage: test script: - curl -s https://build.webhare.dev/ci/scripts/testmodule.sh | bash -s -- -w beta runtest-vs-stable: rules: - if: $SCHEDULE_FOR_WH_BRANCH == "master" when: never - when: always stage: test script: - curl -s https://build.webhare.dev/ci/scripts/testmodule.sh | bash -s -- -w stable calculatecoverage: stage: test allow_failure: true when: manual script: - curl -s https://build.webhare.dev/ci/scripts/testmodule.sh | bash -s -- -w head --coverage