PainfulLoss/.gitlab-ci.yml
2025-08-26 13:05:47 +02:00

54 lines
1.3 KiB
YAML

stages:
- test
- release
image: maven:3.9.8-eclipse-temurin-21
variables:
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- .m2/repository
# MVN TEST + JUNIT REPORT
test:
stage: test
script:
- mvn -B -ntp test
artifacts:
when: always
reports:
junit:
- target/surefire-reports/*.xml
- target/failsafe-reports/*.xml
paths:
- target/surefire-reports
- target/failsafe-reports
rules:
- if: $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_TAG
# COMPILATION + RELEASE GENERATION
release:
stage: release
needs: ["test"]
script:
- mvn -B -ntp -DskipTests package
- JAR=$(ls target/*-with-dependencies.jar 2>/dev/null || ls target/*.jar | head -n1)
- cp "$JAR" "target/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar"
artifacts:
paths:
- target/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar
release:
name: "Release ${CI_COMMIT_TAG}"
tag_name: "${CI_COMMIT_TAG}"
description: |
New release : ${CI_COMMIT_TAG}.
Commit : ${CI_COMMIT_SHA}
assets:
links:
- name: "${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar"
url: "${CI_JOB_URL}/artifacts/raw/target/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar"
rules:
- if: $CI_COMMIT_TAG