From 6f331186d0a11596cf957c8a163ed039d3570639 Mon Sep 17 00:00:00 2001 From: Juan Munoz Date: Wed, 29 Nov 2023 14:39:32 +0100 Subject: [PATCH] ci: refactor release please workflow Signed-off-by: Juan Munoz --- .github/workflows/release-please.yml | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 8ec9ca4f..66ab4657 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -15,63 +15,61 @@ name: release-please jobs: release_please: runs-on: ubuntu-latest - outputs: - release_created: ${{ steps.release.outputs.release_created }} steps: - uses: google-github-actions/release-please-action@v3 id: release with: release-type: maven package-name: compas-scl-data-service - # The logic below handles the docker hub publication: - push_to_registry: - needs: release_please - if: needs.release_please.outputs.release_created == "true" - name: Build and publish - runs-on: ubuntu-latest - timeout-minutes: 15 - - steps: - name: Checkout + if: ${{ steps.release.outputs.release_created }} uses: actions/checkout@v4 - name: Cache Docker Register + if: ${{ steps.release.outputs.release_created }} uses: actions/cache@v3 with: path: /tmp/.buildx-cache key: ${{ runner.os }}-buildx-${{ hashFiles('**/Dockerfile') }} - name: Extract tag name + if: ${{ steps.release.outputs.release_created }} id: extract_tagname shell: bash # Extract the tag name from the git reference, value of GITHUB_REF will be something like refs/tags/. run: echo "##[set-output name=tagname;]$(echo ${GITHUB_REF##*/})" - name: Set up JDK 17 + if: ${{ steps.release.outputs.release_created }} uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: '17' cache: 'maven' - name: Set up Docker Buildx + if: ${{ steps.release.outputs.release_created }} id: buildx uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub + if: ${{ steps.release.outputs.release_created }} uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Create custom Maven Settings.xml + if: ${{ steps.release.outputs.release_created }} uses: whelk-io/maven-settings-xml-action@v21 with: output_file: custom_maven_settings.xml servers: '[{ "id": "github-packages-compas", "username": "OWNER", "password": "${{ secrets.GITHUB_TOKEN }}" }]' - name: Set version with Maven + if: ${{ steps.release.outputs.release_created }} run: ./mvnw -B versions:set -DprocessAllModules=true -DnewVersion=${{ steps.extract_tagname.outputs.tagname }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Deploy with Maven to GitHub Packages and Docker Hub + if: ${{ steps.release.outputs.release_created }} run: ./mvnw -B -s custom_maven_settings.xml -Pnative-image,release clean deploy env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}