docs(client): add description to armonik-client POM for Maven Central… #4
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| tags: | |
| - '[0-9]+.[0-9]+.[0-9]+' | |
| permissions: | |
| contents: write | |
| concurrency: | |
| group: release-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| extract-version: | |
| name: Extract version from tag | |
| runs-on: ubuntu-latest | |
| outputs: | |
| version: ${{ steps.get-version.outputs.version }} | |
| steps: | |
| - name: Get version from tag | |
| id: get-version | |
| run: echo "version=${GITHUB_REF_NAME}" >> "$GITHUB_OUTPUT" | |
| validate-modules: | |
| name: Validate ${{ matrix.module }} | |
| runs-on: ubuntu-latest | |
| needs: extract-version | |
| strategy: | |
| matrix: | |
| module: [armonik-client, worker] | |
| fail-fast: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Temurin JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: '17' | |
| cache: maven | |
| gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }} | |
| gpg-passphrase: MAVEN_GPG_PASSPHRASE | |
| env: | |
| MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_SIGNING_KEY_PASSWORD }} | |
| - name: Set project version | |
| working-directory: ${{ matrix.module }} | |
| run: ./mvnw -B -ntp versions:set -DnewVersion=${{ needs.extract-version.outputs.version }} -DprocessAllModules=true -DgenerateBackupPoms=false | |
| - name: Check for SNAPSHOT dependencies | |
| working-directory: ${{ matrix.module }} | |
| run: | | |
| echo "🔍 Checking for SNAPSHOT dependencies..." | |
| SNAPSHOT_FILES=$(find . -name "pom.xml" -type f -exec grep -l "SNAPSHOT" {} \;) | |
| if [ -n "$SNAPSHOT_FILES" ]; then | |
| echo "❌ ERROR: SNAPSHOT dependencies found in release build!" | |
| echo "" | |
| echo "Files containing SNAPSHOT:" | |
| echo "$SNAPSHOT_FILES" | |
| exit 1 | |
| fi | |
| echo "✅ No SNAPSHOT dependencies found" | |
| - name: Verify build | |
| working-directory: ${{ matrix.module }} | |
| run: ./mvnw -B -ntp -Pci-release verify | |
| env: | |
| MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_SIGNING_KEY_PASSWORD }} | |
| publish-modules: | |
| name: Publish ${{ matrix.module }} | |
| runs-on: ubuntu-latest | |
| needs: [extract-version, validate-modules] | |
| strategy: | |
| matrix: | |
| module: [armonik-client, worker] | |
| fail-fast: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Temurin JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: '17' | |
| cache: maven | |
| server-id: central | |
| server-username: MAVEN_USERNAME | |
| server-password: MAVEN_PASSWORD | |
| gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }} | |
| gpg-passphrase: MAVEN_GPG_PASSPHRASE | |
| env: | |
| MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_SIGNING_KEY_PASSWORD }} | |
| MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} | |
| MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} | |
| - name: Set project version | |
| working-directory: ${{ matrix.module }} | |
| run: ./mvnw -B -ntp versions:set -DnewVersion=${{ needs.extract-version.outputs.version }} -DprocessAllModules=true -DgenerateBackupPoms=false | |
| - name: Deploy to Sonatype Central | |
| working-directory: ${{ matrix.module }} | |
| run: ./mvnw -B -ntp -Pci-release deploy -DskipTests | |
| env: | |
| MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_SIGNING_KEY_PASSWORD }} | |
| MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} | |
| MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} | |
| publish-docker-image: | |
| name: Build and publish Docker image | |
| runs-on: ubuntu-latest | |
| needs: [extract-version, publish-modules] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Temurin JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: '17' | |
| cache: maven | |
| - name: Set project version | |
| working-directory: worker | |
| run: ./mvnw -B -ntp versions:set -DnewVersion=${{ needs.extract-version.outputs.version }} -DprocessAllModules=true -DgenerateBackupPoms=false | |
| - name: Build and push Docker image | |
| working-directory: worker/armonik-worker | |
| run: ./mvnw -B -ntp clean package -Pdocker | |
| env: | |
| DOCKER_USERNAME: ${{ secrets.DOCKER_HUB_LOGIN }} | |
| DOCKER_PASSWORD: ${{ secrets.DOCKER_HUB_TOKEN }} | |
| - name: Verify Docker image | |
| run: | | |
| echo "✅ Docker image published:" | |
| echo " dockerhubaneo/armonik-dynamic-java-worker:${{ needs.extract-version.outputs.version }}" | |
| echo " dockerhubaneo/armonik-dynamic-java-worker:latest" |