From d6f92358e524c7c958fe829e95b4c1ca96118aa0 Mon Sep 17 00:00:00 2001 From: Valentin Gauthier Date: Wed, 29 Oct 2025 17:41:00 +0100 Subject: [PATCH 1/8] -- --- .github/workflows/maven-release.yml | 31 ++++++++++++++++++++++++- .github/workflows/pull-tests.yml | 36 +++++++++++++++++++++++++++-- pom.xml | 2 +- 3 files changed, 65 insertions(+), 4 deletions(-) diff --git a/.github/workflows/maven-release.yml b/.github/workflows/maven-release.yml index 0fb10bc..6239191 100644 --- a/.github/workflows/maven-release.yml +++ b/.github/workflows/maven-release.yml @@ -26,11 +26,40 @@ jobs: gpg-private-key: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }} gpg-passphrase: MAVEN_GPG_PASSPHRASE + - name: Compute Maven version + id: version + run: | + SHA=$(git rev-parse --short HEAD) + + if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then + # Tag -> release version + REVISION="${GITHUB_REF_NAME#v}" + CHANGE_LIST="" + elif [[ "${GITHUB_REF_NAME}" == "main" ]]; then + # Main -> snapshot version + REVISION="1.0.1" + CHANGE_LIST="-SNAPSHOT" + else + # Feature or other branch + REVISION="1.0.1" + CHANGE_LIST="-dev${GITHUB_RUN_NUMBER}" + fi + + echo "revision=$REVISION" >> $GITHUB_OUTPUT + echo "sha1=+$SHA" >> $GITHUB_OUTPUT + echo "changelist=$CHANGE_LIST" >> $GITHUB_OUTPUT + + echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" + - name: Run tests run: mvn --batch-mode test - name: Deploy to Maven Central - run: mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ github.event.release.tag_name }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}" + run: + mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}"\ + -Drevision=${{ steps.version.outputs.revision }} \ + -Dsha1=${{ steps.version.outputs.sha1 }} \ + -Dchangelist=${{ steps.version.outputs.changelist }} env: GITHUB_TOKEN: ${{ github.token }} CI_DEPLOY_USERNAME: ${{ secrets.CENTRAL_USERNAME }} diff --git a/.github/workflows/pull-tests.yml b/.github/workflows/pull-tests.yml index 9d02d7c..2b98428 100644 --- a/.github/workflows/pull-tests.yml +++ b/.github/workflows/pull-tests.yml @@ -29,14 +29,46 @@ jobs: gpg-private-key: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }} gpg-passphrase: MAVEN_GPG_PASSPHRASE + - name: Compute Maven version + id: version + run: | + SHA=$(git rev-parse --short HEAD) + + if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then + # Tag -> release version + REVISION="${GITHUB_REF_NAME#v}" + CHANGE_LIST="" + elif [[ "${GITHUB_REF_NAME}" == "main" ]]; then + # Main -> snapshot version + REVISION="1.0.1" + CHANGE_LIST="-SNAPSHOT" + else + # Feature or other branch + REVISION="1.0.1" + CHANGE_LIST="-dev${GITHUB_RUN_NUMBER}" + fi + + echo "revision=$REVISION" >> $GITHUB_OUTPUT + echo "sha1=+$SHA" >> $GITHUB_OUTPUT + echo "changelist=$CHANGE_LIST" >> $GITHUB_OUTPUT + + echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" + - name: Unit test run: | PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) echo "jar_version=${PROJECT_VERSION}" >> $GITHUB_OUTPUT - mvn -B --file pom.xml clean test -P test + mvn -B --file pom.xml clean test -P test\ + -Drevision=${{ steps.version.outputs.revision }} \ + -Dsha1=${{ steps.version.outputs.sha1 }} \ + -Dchangelist=${{ steps.version.outputs.changelist }} - name: Build with Maven - run: mvn -B --file pom.xml clean deploy -P release "-Dsha1=${{ github.sha }}" "-Dchangelist=-SNAPSHOT" -Dgpg.keyname="${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}" + run: + mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}"\ + -Drevision=${{ steps.version.outputs.revision }} \ + -Dsha1=${{ steps.version.outputs.sha1 }} \ + -Dchangelist=${{ steps.version.outputs.changelist }} env: GITHUB_TOKEN: ${{ github.token }} CI_DEPLOY_USERNAME: ${{ secrets.CENTRAL_USERNAME }} diff --git a/pom.xml b/pom.xml index eee198c..8b73357 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ ${project.basedir}/src/test geosiris-technologies https://sonarcloud.io - 1.0.18 + From 3794dd8d2ba663df7077482011eec52bebc869e1 Mon Sep 17 00:00:00 2001 From: Valentin Gauthier Date: Wed, 29 Oct 2025 17:45:27 +0100 Subject: [PATCH 2/8] ci --- .github/workflows/maven-release.yml | 13 ++++++++----- .github/workflows/pull-tests.yml | 16 ++++++++-------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/.github/workflows/maven-release.yml b/.github/workflows/maven-release.yml index 6239191..e0d95b3 100644 --- a/.github/workflows/maven-release.yml +++ b/.github/workflows/maven-release.yml @@ -52,14 +52,17 @@ jobs: echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" - name: Run tests - run: mvn --batch-mode test + run: mvn --batch-mode test \ + "-Drevision=${{ steps.version.outputs.revision }}" \ + "-Dsha1=${{ steps.version.outputs.sha1 }}" \ + "-Dchangelist=${{ steps.version.outputs.changelist }}" - name: Deploy to Maven Central run: - mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}"\ - -Drevision=${{ steps.version.outputs.revision }} \ - -Dsha1=${{ steps.version.outputs.sha1 }} \ - -Dchangelist=${{ steps.version.outputs.changelist }} + mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}" \ + "-Drevision=${{ steps.version.outputs.revision }}" \ + "-Dsha1=${{ steps.version.outputs.sha1 }}" \ + "-Dchangelist=${{ steps.version.outputs.changelist }}" env: GITHUB_TOKEN: ${{ github.token }} CI_DEPLOY_USERNAME: ${{ secrets.CENTRAL_USERNAME }} diff --git a/.github/workflows/pull-tests.yml b/.github/workflows/pull-tests.yml index 2b98428..3502f07 100644 --- a/.github/workflows/pull-tests.yml +++ b/.github/workflows/pull-tests.yml @@ -58,17 +58,17 @@ jobs: run: | PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) echo "jar_version=${PROJECT_VERSION}" >> $GITHUB_OUTPUT - mvn -B --file pom.xml clean test -P test\ - -Drevision=${{ steps.version.outputs.revision }} \ - -Dsha1=${{ steps.version.outputs.sha1 }} \ - -Dchangelist=${{ steps.version.outputs.changelist }} + mvn -B --file pom.xml clean test -P test \ + "-Drevision=${{ steps.version.outputs.revision }}" \ + "-Dsha1=${{ steps.version.outputs.sha1 }}" \ + "-Dchangelist=${{ steps.version.outputs.changelist }}" - name: Build with Maven run: - mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}"\ - -Drevision=${{ steps.version.outputs.revision }} \ - -Dsha1=${{ steps.version.outputs.sha1 }} \ - -Dchangelist=${{ steps.version.outputs.changelist }} + mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}" \ + "-Drevision=${{ steps.version.outputs.revision }}" \ + "-Dsha1=${{ steps.version.outputs.sha1 }}" \ + "-Dchangelist=${{ steps.version.outputs.changelist }}" env: GITHUB_TOKEN: ${{ github.token }} CI_DEPLOY_USERNAME: ${{ secrets.CENTRAL_USERNAME }} From 2c423363a825d03f3ac70dd2ec9764241b1f2798 Mon Sep 17 00:00:00 2001 From: Valentin Gauthier Date: Wed, 29 Oct 2025 17:47:44 +0100 Subject: [PATCH 3/8] -- --- .github/workflows/maven-release.yml | 11 ++++++----- .github/workflows/pull-tests.yml | 4 +--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/maven-release.yml b/.github/workflows/maven-release.yml index e0d95b3..2fa2e1f 100644 --- a/.github/workflows/maven-release.yml +++ b/.github/workflows/maven-release.yml @@ -52,13 +52,14 @@ jobs: echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" - name: Run tests - run: mvn --batch-mode test \ - "-Drevision=${{ steps.version.outputs.revision }}" \ - "-Dsha1=${{ steps.version.outputs.sha1 }}" \ - "-Dchangelist=${{ steps.version.outputs.changelist }}" + run: | + mvn -B --file pom.xml clean test -P test \ + "-Drevision=${{ steps.version.outputs.revision }}" \ + "-Dsha1=${{ steps.version.outputs.sha1 }}" \ + "-Dchangelist=${{ steps.version.outputs.changelist }}" - name: Deploy to Maven Central - run: + run: | mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}" \ "-Drevision=${{ steps.version.outputs.revision }}" \ "-Dsha1=${{ steps.version.outputs.sha1 }}" \ diff --git a/.github/workflows/pull-tests.yml b/.github/workflows/pull-tests.yml index 3502f07..290b53f 100644 --- a/.github/workflows/pull-tests.yml +++ b/.github/workflows/pull-tests.yml @@ -56,15 +56,13 @@ jobs: - name: Unit test run: | - PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) - echo "jar_version=${PROJECT_VERSION}" >> $GITHUB_OUTPUT mvn -B --file pom.xml clean test -P test \ "-Drevision=${{ steps.version.outputs.revision }}" \ "-Dsha1=${{ steps.version.outputs.sha1 }}" \ "-Dchangelist=${{ steps.version.outputs.changelist }}" - name: Build with Maven - run: + run: | mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}" \ "-Drevision=${{ steps.version.outputs.revision }}" \ "-Dsha1=${{ steps.version.outputs.sha1 }}" \ From 82aa350d0c3e43b6e222ee00fbcdfd83e7b2db70 Mon Sep 17 00:00:00 2001 From: Valentin Gauthier Date: Wed, 29 Oct 2025 17:51:12 +0100 Subject: [PATCH 4/8] -- --- .github/workflows/maven-release.yml | 7 ++----- .github/workflows/pull-tests.yml | 7 ++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/.github/workflows/maven-release.yml b/.github/workflows/maven-release.yml index 2fa2e1f..c6ebaac 100644 --- a/.github/workflows/maven-release.yml +++ b/.github/workflows/maven-release.yml @@ -32,24 +32,21 @@ jobs: SHA=$(git rev-parse --short HEAD) if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then - # Tag -> release version REVISION="${GITHUB_REF_NAME#v}" CHANGE_LIST="" elif [[ "${GITHUB_REF_NAME}" == "main" ]]; then - # Main -> snapshot version REVISION="1.0.1" CHANGE_LIST="-SNAPSHOT" else - # Feature or other branch REVISION="1.0.1" CHANGE_LIST="-dev${GITHUB_RUN_NUMBER}" fi echo "revision=$REVISION" >> $GITHUB_OUTPUT - echo "sha1=+$SHA" >> $GITHUB_OUTPUT + echo "sha1=-${SHA}" >> $GITHUB_OUTPUT # <-- FIXED HERE echo "changelist=$CHANGE_LIST" >> $GITHUB_OUTPUT - echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" + echo "Resolved version: ${REVISION}${sha1}${CHANGE_LIST}" - name: Run tests run: | diff --git a/.github/workflows/pull-tests.yml b/.github/workflows/pull-tests.yml index 290b53f..18ce12c 100644 --- a/.github/workflows/pull-tests.yml +++ b/.github/workflows/pull-tests.yml @@ -35,24 +35,21 @@ jobs: SHA=$(git rev-parse --short HEAD) if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then - # Tag -> release version REVISION="${GITHUB_REF_NAME#v}" CHANGE_LIST="" elif [[ "${GITHUB_REF_NAME}" == "main" ]]; then - # Main -> snapshot version REVISION="1.0.1" CHANGE_LIST="-SNAPSHOT" else - # Feature or other branch REVISION="1.0.1" CHANGE_LIST="-dev${GITHUB_RUN_NUMBER}" fi echo "revision=$REVISION" >> $GITHUB_OUTPUT - echo "sha1=+$SHA" >> $GITHUB_OUTPUT + echo "sha1=-${SHA}" >> $GITHUB_OUTPUT # <-- FIXED HERE echo "changelist=$CHANGE_LIST" >> $GITHUB_OUTPUT - echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" + echo "Resolved version: ${REVISION}${sha1}${CHANGE_LIST}" - name: Unit test run: | From 5714a160a73dbb02449ad7dd30d1d1618c986f4a Mon Sep 17 00:00:00 2001 From: Valentin Gauthier Date: Wed, 29 Oct 2025 17:55:44 +0100 Subject: [PATCH 5/8] -- --- .github/workflows/maven-release.yml | 12 ++++++++---- .github/workflows/pull-tests.yml | 13 +++++++++---- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.github/workflows/maven-release.yml b/.github/workflows/maven-release.yml index c6ebaac..57dbe37 100644 --- a/.github/workflows/maven-release.yml +++ b/.github/workflows/maven-release.yml @@ -11,8 +11,9 @@ jobs: contents: read steps: - - name: Checkout code - uses: actions/checkout@v4 + - uses: actions/checkout@v4 + with: + fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v5 @@ -32,21 +33,24 @@ jobs: SHA=$(git rev-parse --short HEAD) if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then + # Tag -> release version REVISION="${GITHUB_REF_NAME#v}" CHANGE_LIST="" elif [[ "${GITHUB_REF_NAME}" == "main" ]]; then + # Main -> snapshot version REVISION="1.0.1" CHANGE_LIST="-SNAPSHOT" else + # Feature or other branch REVISION="1.0.1" CHANGE_LIST="-dev${GITHUB_RUN_NUMBER}" fi echo "revision=$REVISION" >> $GITHUB_OUTPUT - echo "sha1=-${SHA}" >> $GITHUB_OUTPUT # <-- FIXED HERE + echo "sha1=+$SHA" >> $GITHUB_OUTPUT echo "changelist=$CHANGE_LIST" >> $GITHUB_OUTPUT - echo "Resolved version: ${REVISION}${sha1}${CHANGE_LIST}" + echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" - name: Run tests run: | diff --git a/.github/workflows/pull-tests.yml b/.github/workflows/pull-tests.yml index 18ce12c..89a0df9 100644 --- a/.github/workflows/pull-tests.yml +++ b/.github/workflows/pull-tests.yml @@ -16,6 +16,8 @@ jobs: steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v5 @@ -35,32 +37,35 @@ jobs: SHA=$(git rev-parse --short HEAD) if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then + # Tag -> release version REVISION="${GITHUB_REF_NAME#v}" CHANGE_LIST="" elif [[ "${GITHUB_REF_NAME}" == "main" ]]; then + # Main -> snapshot version REVISION="1.0.1" CHANGE_LIST="-SNAPSHOT" else + # Feature or other branch REVISION="1.0.1" CHANGE_LIST="-dev${GITHUB_RUN_NUMBER}" fi echo "revision=$REVISION" >> $GITHUB_OUTPUT - echo "sha1=-${SHA}" >> $GITHUB_OUTPUT # <-- FIXED HERE + echo "sha1=+$SHA" >> $GITHUB_OUTPUT echo "changelist=$CHANGE_LIST" >> $GITHUB_OUTPUT - echo "Resolved version: ${REVISION}${sha1}${CHANGE_LIST}" + echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" - name: Unit test run: | - mvn -B --file pom.xml clean test -P test \ + mvn -B --file pom.xml test -P test \ "-Drevision=${{ steps.version.outputs.revision }}" \ "-Dsha1=${{ steps.version.outputs.sha1 }}" \ "-Dchangelist=${{ steps.version.outputs.changelist }}" - name: Build with Maven run: | - mvn --batch-mode clean deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}" \ + mvn --batch-mode deploy -P release -Dchangelist= "-Drevision=${{ steps.version.outputs.version }}" -Dgpg.keyname="${{ secrets.OSSRH_GPG_KEY_ID }}" \ "-Drevision=${{ steps.version.outputs.revision }}" \ "-Dsha1=${{ steps.version.outputs.sha1 }}" \ "-Dchangelist=${{ steps.version.outputs.changelist }}" From 1d0942950805d51dd51f0bd54656292bccaba7e7 Mon Sep 17 00:00:00 2001 From: Valentin Gauthier Date: Wed, 29 Oct 2025 19:27:06 +0100 Subject: [PATCH 6/8] no sha --- .github/workflows/pull-tests.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-tests.yml b/.github/workflows/pull-tests.yml index 89a0df9..c4734d5 100644 --- a/.github/workflows/pull-tests.yml +++ b/.github/workflows/pull-tests.yml @@ -51,10 +51,11 @@ jobs: fi echo "revision=$REVISION" >> $GITHUB_OUTPUT - echo "sha1=+$SHA" >> $GITHUB_OUTPUT + # echo "sha1=+$SHA" >> $GITHUB_OUTPUT echo "changelist=$CHANGE_LIST" >> $GITHUB_OUTPUT - echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" + # echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" + echo "Resolved version: ${REVISION}${CHANGE_LIST}" - name: Unit test run: | From 7bdf926dae44de1383444b6e3a924191073a5bfa Mon Sep 17 00:00:00 2001 From: Valentin Gauthier Date: Wed, 29 Oct 2025 19:33:32 +0100 Subject: [PATCH 7/8] -- --- .github/workflows/pull-tests.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pull-tests.yml b/.github/workflows/pull-tests.yml index c4734d5..1e4334a 100644 --- a/.github/workflows/pull-tests.yml +++ b/.github/workflows/pull-tests.yml @@ -40,22 +40,24 @@ jobs: # Tag -> release version REVISION="${GITHUB_REF_NAME#v}" CHANGE_LIST="" + SHA="" elif [[ "${GITHUB_REF_NAME}" == "main" ]]; then # Main -> snapshot version - REVISION="1.0.1" + REVISION="${GITHUB_REF_NAME#v}" CHANGE_LIST="-SNAPSHOT" + SHA=".dev${GITHUB_RUN_NUMBER}" else # Feature or other branch - REVISION="1.0.1" - CHANGE_LIST="-dev${GITHUB_RUN_NUMBER}" + REVISION="${GITHUB_REF_NAME#v}" + CHANGE_LIST="" fi echo "revision=$REVISION" >> $GITHUB_OUTPUT - # echo "sha1=+$SHA" >> $GITHUB_OUTPUT + echo "sha1=+$SHA" >> $GITHUB_OUTPUT echo "changelist=$CHANGE_LIST" >> $GITHUB_OUTPUT - # echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" - echo "Resolved version: ${REVISION}${CHANGE_LIST}" + echo "Resolved version: ${REVISION}+${SHA}${CHANGE_LIST}" + # echo "Resolved version: ${REVISION}${CHANGE_LIST}" - name: Unit test run: | From 57be533c0b82f45d3a396ee4048e82566f1186ae Mon Sep 17 00:00:00 2001 From: Valentin Gauthier Date: Wed, 29 Oct 2025 23:46:01 +0100 Subject: [PATCH 8/8] -- --- .github/workflows/maven-release.yml | 48 ++++++++++++++++----------- .github/workflows/pull-tests.yml | 51 ++++++++++++++++------------- 2 files changed, 58 insertions(+), 41 deletions(-) diff --git a/.github/workflows/maven-release.yml b/.github/workflows/maven-release.yml index 57dbe37..b4f0ebd 100644 --- a/.github/workflows/maven-release.yml +++ b/.github/workflows/maven-release.yml @@ -27,30 +27,40 @@ jobs: gpg-private-key: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }} gpg-passphrase: MAVEN_GPG_PASSPHRASE - - name: Compute Maven version - id: version + - name: Determine Maven Version Components + id: version # to identify the output run: | - SHA=$(git rev-parse --short HEAD) + COMMIT_SHA_LONG="${{ github.sha }}" + COMMIT_SHA_SHORT="${COMMIT_SHA_LONG:0:7}" - if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then - # Tag -> release version - REVISION="${GITHUB_REF_NAME#v}" - CHANGE_LIST="" - elif [[ "${GITHUB_REF_NAME}" == "main" ]]; then - # Main -> snapshot version - REVISION="1.0.1" - CHANGE_LIST="-SNAPSHOT" + REVISION_VAR="" + SHA1_VAR="" + CHANGELIST_VAR="" + + if [[ "${{ github.ref_type }}" == "tag" ]]; then + TAG_NAME="${{ github.ref_name }}" + TAG_CLEAN=$(echo "$TAG_NAME" | sed 's/^v//') + + REVISION_VAR="$TAG_CLEAN" + SHA1_VAR="" + CHANGELIST_VAR="" + echo "🏗️ Version de Release (Tag) détectée : $TAG_CLEAN" else - # Feature or other branch - REVISION="1.0.1" - CHANGE_LIST="-dev${GITHUB_RUN_NUMBER}" + LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0") + VERSION_BASE=$(echo "$LAST_TAG" | sed 's/^v//') + IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION_BASE" + NEXT_PATCH=$((PATCH + 1)) + + REVISION_VAR="$MAJOR.$MINOR.$NEXT_PATCH" + SHA1_VAR="-$COMMIT_SHA_SHORT" + CHANGELIST_VAR="-SNAPSHOT" + echo "🧪 Version Snapshot détectée (basée sur $LAST_TAG) : ${REVISION_VAR}${SHA1_VAR}${CHANGELIST_VAR}" fi - echo "revision=$REVISION" >> $GITHUB_OUTPUT - echo "sha1=+$SHA" >> $GITHUB_OUTPUT - echo "changelist=$CHANGE_LIST" >> $GITHUB_OUTPUT - - echo "Resolved version: ${REVISION}${CHANGE_LIST}+${SHA}" + echo "revision=$REVISION_VAR" >> "$GITHUB_OUTPUT" + echo "sha1=$SHA1_VAR" >> "$GITHUB_OUTPUT" + echo "changelist=$CHANGELIST_VAR" >> "$GITHUB_OUTPUT" + echo "➡️ Variables de sortie définies : revision='$REVISION_VAR', sha1='$SHA1_VAR', changelist='$CHANGELIST_VAR'" - name: Run tests run: | diff --git a/.github/workflows/pull-tests.yml b/.github/workflows/pull-tests.yml index 1e4334a..4130ed6 100644 --- a/.github/workflows/pull-tests.yml +++ b/.github/workflows/pull-tests.yml @@ -31,33 +31,40 @@ jobs: gpg-private-key: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }} gpg-passphrase: MAVEN_GPG_PASSPHRASE - - name: Compute Maven version - id: version + - name: Determine Maven Version Components + id: version # to identify the output run: | - SHA=$(git rev-parse --short HEAD) + COMMIT_SHA_LONG="${{ github.sha }}" + COMMIT_SHA_SHORT="${COMMIT_SHA_LONG:0:7}" - if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then - # Tag -> release version - REVISION="${GITHUB_REF_NAME#v}" - CHANGE_LIST="" - SHA="" - elif [[ "${GITHUB_REF_NAME}" == "main" ]]; then - # Main -> snapshot version - REVISION="${GITHUB_REF_NAME#v}" - CHANGE_LIST="-SNAPSHOT" - SHA=".dev${GITHUB_RUN_NUMBER}" + REVISION_VAR="" + SHA1_VAR="" + CHANGELIST_VAR="" + + if [[ "${{ github.ref_type }}" == "tag" ]]; then + TAG_NAME="${{ github.ref_name }}" + TAG_CLEAN=$(echo "$TAG_NAME" | sed 's/^v//') + + REVISION_VAR="$TAG_CLEAN" + SHA1_VAR="" + CHANGELIST_VAR="" + echo "🏗️ Version de Release (Tag) détectée : $TAG_CLEAN" else - # Feature or other branch - REVISION="${GITHUB_REF_NAME#v}" - CHANGE_LIST="" + LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0") + VERSION_BASE=$(echo "$LAST_TAG" | sed 's/^v//') + IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION_BASE" + NEXT_PATCH=$((PATCH + 1)) + + REVISION_VAR="$MAJOR.$MINOR.$NEXT_PATCH" + SHA1_VAR="-$COMMIT_SHA_SHORT" + CHANGELIST_VAR="-SNAPSHOT" + echo "🧪 Version Snapshot détectée (basée sur $LAST_TAG) : ${REVISION_VAR}${SHA1_VAR}${CHANGELIST_VAR}" fi - echo "revision=$REVISION" >> $GITHUB_OUTPUT - echo "sha1=+$SHA" >> $GITHUB_OUTPUT - echo "changelist=$CHANGE_LIST" >> $GITHUB_OUTPUT - - echo "Resolved version: ${REVISION}+${SHA}${CHANGE_LIST}" - # echo "Resolved version: ${REVISION}${CHANGE_LIST}" + echo "revision=$REVISION_VAR" >> "$GITHUB_OUTPUT" + echo "sha1=$SHA1_VAR" >> "$GITHUB_OUTPUT" + echo "changelist=$CHANGELIST_VAR" >> "$GITHUB_OUTPUT" + echo "➡️ Variables de sortie définies : revision='$REVISION_VAR', sha1='$SHA1_VAR', changelist='$CHANGELIST_VAR'" - name: Unit test run: |