From 3515c67a2003909b7a48c1d06f47bf14e38fcb75 Mon Sep 17 00:00:00 2001 From: CodingPhoenixx Date: Fri, 29 May 2026 09:22:35 +0200 Subject: [PATCH] Restore `check-and-publish` job in `ci.yml` to reintroduce Maven repository publishing after release creation. --- .gitea/workflows/ci.yml | 117 ++++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 58 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index b27f453..b874051 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -42,64 +42,6 @@ jobs: ls -la build/test-results/test || true fi - check-and-publish: - runs-on: java26 - # Publish to the Maven repo after the Gitea release has been created - needs: create-release - env: - MAVEN_REPO_URL: ${{ secrets.MAVEN_REPO_URL }} - MAVEN_REPO_USER: ${{ secrets.MAVEN_REPO_USER }} - MAVEN_REPO_PASS: ${{ secrets.MAVEN_REPO_PASS }} - - steps: - - name: Checkout Code - run: | - SERVER_DOMAIN=$(echo "${{ github.server_url }}" | sed 's/https:\/\///') - rm -rf "$GITHUB_WORKSPACE"/* - git clone "https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@${SERVER_DOMAIN}/${{ github.repository }}.git" "$GITHUB_WORKSPACE" - cd "$GITHUB_WORKSPACE" - git checkout ${{ github.sha }} - - - name: Read version from Gradle - id: get_version - run: | - cd "$GITHUB_WORKSPACE" - chmod +x ./gradlew - VERSION=$(./gradlew properties | grep "^version:" | awk '{print $2}') - echo "Found local project version: $VERSION" - echo "version=$VERSION" >> $GITHUB_OUTPUT - - - name: Check if version exists on repository - id: check_repo - run: | - cd "$GITHUB_WORKSPACE" - RAW_GROUP=$(./gradlew properties | grep "^group:" | awk '{print $2}') - GROUP_PATH=$(echo "$RAW_GROUP" | tr '.' '/') - ARTIFACT_ID=$(./gradlew properties | grep "^name:" | awk '{print $2}') - - LOCAL_VERSION="${{ steps.get_version.outputs.version }}" - - echo "Detected project: $RAW_GROUP:$ARTIFACT_ID:$LOCAL_VERSION" - - CHECK_URL="${{ env.MAVEN_REPO_URL }}/${GROUP_PATH}/${ARTIFACT_ID}/${LOCAL_VERSION}/${ARTIFACT_ID}-${LOCAL_VERSION}.pom" - echo "Check url: $CHECK_URL" - - STATUS=$(curl -o /dev/null -s -w "%{http_code}" -u "${{ env.MAVEN_REPO_USER }}:${{ env.MAVEN_REPO_PASS }}" "$CHECK_URL") - if [ "$STATUS" = "200" ]; then - echo "Version $LOCAL_VERSION already exists in repository. Skipping publishing." - echo "is_new=false" >> $GITHUB_OUTPUT - else - echo "Version $LOCAL_VERSION not found (Status $STATUS). Start deployment..." - echo "is_new=true" >> $GITHUB_OUTPUT - fi - - - name: Push to Maven Repository - if: steps.check_repo.outputs.is_new == 'true' - run: | - cd "$GITHUB_WORKSPACE" - echo "Publishing version ${{ steps.get_version.outputs.version }} zu Repository..." - ./gradlew publish - create-release: runs-on: java26 # Create the Gitea tag/release after tests pass, before publishing @@ -236,3 +178,62 @@ jobs: fi echo "JAR $JAR_NAME attached to release successfully." + + check-and-publish: + runs-on: java26 + # Publish to the Maven repo after the Gitea release has been created + needs: create-release + env: + MAVEN_REPO_URL: ${{ secrets.MAVEN_REPO_URL }} + MAVEN_REPO_USER: ${{ secrets.MAVEN_REPO_USER }} + MAVEN_REPO_PASS: ${{ secrets.MAVEN_REPO_PASS }} + + steps: + - name: Checkout Code + run: | + SERVER_DOMAIN=$(echo "${{ github.server_url }}" | sed 's/https:\/\///') + rm -rf "$GITHUB_WORKSPACE"/* + git clone "https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@${SERVER_DOMAIN}/${{ github.repository }}.git" "$GITHUB_WORKSPACE" + cd "$GITHUB_WORKSPACE" + git checkout ${{ github.sha }} + + - name: Read version from Gradle + id: get_version + run: | + cd "$GITHUB_WORKSPACE" + chmod +x ./gradlew + VERSION=$(./gradlew properties | grep "^version:" | awk '{print $2}') + echo "Found local project version: $VERSION" + echo "version=$VERSION" >> $GITHUB_OUTPUT + + - name: Check if version exists on repository + id: check_repo + run: | + cd "$GITHUB_WORKSPACE" + RAW_GROUP=$(./gradlew properties | grep "^group:" | awk '{print $2}') + GROUP_PATH=$(echo "$RAW_GROUP" | tr '.' '/') + ARTIFACT_ID=$(./gradlew properties | grep "^name:" | awk '{print $2}') + + LOCAL_VERSION="${{ steps.get_version.outputs.version }}" + + echo "Detected project: $RAW_GROUP:$ARTIFACT_ID:$LOCAL_VERSION" + + CHECK_URL="${{ env.MAVEN_REPO_URL }}/${GROUP_PATH}/${ARTIFACT_ID}/${LOCAL_VERSION}/${ARTIFACT_ID}-${LOCAL_VERSION}.pom" + echo "Check url: $CHECK_URL" + + STATUS=$(curl -o /dev/null -s -w "%{http_code}" -u "${{ env.MAVEN_REPO_USER }}:${{ env.MAVEN_REPO_PASS }}" "$CHECK_URL") + if [ "$STATUS" = "200" ]; then + echo "Version $LOCAL_VERSION already exists in repository. Skipping publishing." + echo "is_new=false" >> $GITHUB_OUTPUT + else + echo "Version $LOCAL_VERSION not found (Status $STATUS). Start deployment..." + echo "is_new=true" >> $GITHUB_OUTPUT + fi + + - name: Push to Maven Repository + if: steps.check_repo.outputs.is_new == 'true' + run: | + cd "$GITHUB_WORKSPACE" + echo "Publishing version ${{ steps.get_version.outputs.version }} zu Repository..." + ./gradlew publish +