image: eclipse-temurin:21.0.6_7-jdk-alpine variables: MAVEN_OPTS: >- -Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true MAVEN_CLI_OPTS: >- --batch-mode --errors --fail-at-end --show-version --no-transfer-progress -DinstallAtEnd=true -DdeployAtEnd=true cache: key: ${CI_PROJECT_NAME}-${CI_COMMIT_REF_SLUG} paths: - .m2/repository - .mvn policy: pull-push stages: - compile - test - package compile: stage: compile script: - "chmod +x ./mvnw" - "./mvnw $MAVEN_CLI_OPTS compile" rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "main"' when: always - when: never test: stage: test script: - "chmod +x ./mvnw" - "./mvnw $MAVEN_CLI_OPTS test" artifacts: when: always reports: junit: - "**/target/*-reports/TEST-*.xml" rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "main"' package: stage: package script: - "chmod +x ./mvnw" - "./mvnw $MAVEN_CLI_OPTS package -DskipTests=true" artifacts: name: "Maven artifacts from $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG" paths: - "**/target" rules: - if: '$CI_COMMIT_TAG' - if: '$CI_COMMIT_BRANCH == "main"' when: manual - when: never