default: image: maven:3.9-eclipse-temurin-17 stages: - build - test - package variables: MAVEN_OPTS: "-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository" TMS_URL: "https://your-testit.example.com" TMS_PRIVATE_TOKEN: "YOUR_TOKEN" TMS_PROJECT_ID: "00000000-0000-0000-0000-000000000001" TMS_CONFIGURATION_ID: "00000000-0000-0000-0000-000000000002" TMS_TEST_RUN_NAME: "Run" build: stage: build script: - mvn compile -B -q artifacts: paths: - target/classes expire_in: 1 hour rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH =~ /^(main|develop)$/ test: stage: test dependencies: - build before_script: - export TMS_TEST_RUN_ID="${TMS_TEST_RUN_ID:-$TEST_RUN_ID}" script: - mkdir -p src/test/resources - | if [ -n "${TMS_TEST_RUN_ID}" ]; then printf "url=%s\nprivateToken=%s\nprojectId=%s\nconfigurationId=%s\nadapterMode=0\ntestRunName=Run\ncertValidation=false\ntestRunId=%s\n" \ "${TMS_URL}" "${TMS_TOKEN:-$TMS_PRIVATE_TOKEN}" "${TMS_PROJECT_ID}" "${TMS_CONFIGURATION_ID}" "${TMS_TEST_RUN_ID}" > src/test/resources/testit.properties else printf "url=%s\nprivateToken=%s\nprojectId=%s\nconfigurationId=%s\nadapterMode=2\ntestRunName=Run\ncertValidation=false\ntestRunId=\n" \ "${TMS_URL}" "${TMS_TOKEN:-$TMS_PRIVATE_TOKEN}" "${TMS_PROJECT_ID}" "${TMS_CONFIGURATION_ID}" > src/test/resources/testit.properties fi - mvn test -B artifacts: when: always paths: - target/surefire-reports/ reports: junit: - target/surefire-reports/TEST-*.xml expire_in: 7 days rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH =~ /^(main|develop)$/ package: stage: package dependencies: - build script: - mvn package -B -DskipTests -q artifacts: paths: - target/*.jar expire_in: 30 days rules: - if: $CI_COMMIT_BRANCH == "main"