From 5f56b2e053a13feed43ff04ef5eacb511182ad7b Mon Sep 17 00:00:00 2001 From: Mark Prins <1165786+mprins@users.noreply.github.com> Date: Tue, 14 Jan 2025 12:09:35 +0100 Subject: [PATCH] PMW-46: make it possible to push (tagged) images using Maven as noted in the pom file some developer environment setup is required --- .github/maven-settings.xml | 17 +++++++++-- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/owasp-dependency-check.yml | 2 +- .github/workflows/qa.yml | 2 +- .github/workflows/ubuntu-maven.yml | 9 ++---- pom.xml | 31 +++++++++++++------- 6 files changed, 42 insertions(+), 21 deletions(-) diff --git a/.github/maven-settings.xml b/.github/maven-settings.xml index df0e48a..478a8c9 100644 --- a/.github/maven-settings.xml +++ b/.github/maven-settings.xml @@ -17,6 +17,19 @@ - - + + + docker-deploy + + true + + + ${env.GITHUB_ACTOR} + ${env.GITHUB_TOKEN} + + + + + docker-deploy + \ No newline at end of file diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index f6276fb..41a3bd4 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -2,7 +2,7 @@ name: "CodeQL" env: MAVEN_OPTS: -Djava.awt.headless=true - MAVEN_VERSION: '3.9.7' + MAVEN_VERSION: '3.9.9' concurrency: # More info: https://stackoverflow.com/a/68422069/253468 group: ${{ github.workflow }}-${{ ( github.ref == 'refs/heads/main' || github.ref == 'refs/heads/release' ) && format('ci-master-{0}', github.sha) || format('ci-master-{0}', github.ref) }} diff --git a/.github/workflows/owasp-dependency-check.yml b/.github/workflows/owasp-dependency-check.yml index c370154..e181e97 100644 --- a/.github/workflows/owasp-dependency-check.yml +++ b/.github/workflows/owasp-dependency-check.yml @@ -2,7 +2,7 @@ name: OWASP env: MAVEN_OPTS: -Djava.awt.headless=true - MAVEN_VERSION: '3.9.7' + MAVEN_VERSION: '3.9.9' concurrency: # More info: https://stackoverflow.com/a/68422069/253468 diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml index 86d3d5d..b344b4e 100644 --- a/.github/workflows/qa.yml +++ b/.github/workflows/qa.yml @@ -2,7 +2,7 @@ name: 'Ubuntu QA Maven build' env: MAVEN_OPTS: -Djava.awt.headless=true - MAVEN_VERSION: '3.9.7' + MAVEN_VERSION: '3.9.9' concurrency: # More info: https://stackoverflow.com/a/68422069/253468 diff --git a/.github/workflows/ubuntu-maven.yml b/.github/workflows/ubuntu-maven.yml index 4930c5d..fad5707 100644 --- a/.github/workflows/ubuntu-maven.yml +++ b/.github/workflows/ubuntu-maven.yml @@ -6,7 +6,7 @@ concurrency: # More info: https://stackoverflow.com/a/68422069/253468 env: MAVEN_OPTS: -Djava.awt.headless=true - MAVEN_VERSION: '3.9.7' + MAVEN_VERSION: '3.9.9' on: push: @@ -129,16 +129,13 @@ jobs: - name: Build and Push # no need to run any QC or tests - # note deploy will deploy both Maven artifact as well as Docker image + # note deploy will deploy both Maven artifact and Docker image env: B3P_DEPLOY_ACTOR: ${{ secrets.B3P_DEPLOY_ACTOR }} B3P_DEPLOY_TOKEN: ${{ secrets.B3P_DEPLOY_TOKEN }} GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - docker run --privileged --rm tonistiigi/binfmt --install arm64 - mvn -B -V -fae -DskipTests -DskipITs -DskipQA=true -Pqa-skip clean deploy --settings .github/maven-settings.xml - docker push ghcr.io/b3partners/planmonitor-wonen-api:snapshot + run: mvn -B -V -fae -DskipTests -DskipITs -DskipQA=true -Ddocker.publish=true -Pqa-skip clean deploy --settings .github/maven-settings.xml cleanup: diff --git a/pom.xml b/pom.xml index 0bd32f3..5299346 100644 --- a/pom.xml +++ b/pom.xml @@ -143,6 +143,9 @@ SPDX-License-Identifier: MIT ghcr.io false ALWAYS + false + ${docker.deploy.repo}/b3partners/${project.artifactId}:snapshot + false false @@ -445,11 +448,9 @@ SPDX-License-Identifier: MIT 120 - ${docker.deploy.repo}/b3partners/${project.artifactId}:snapshot - - - - false + ${docker.image.name} + ${docker.image.tags} + ${docker.publish} ${project.scm.url} @@ -467,9 +468,15 @@ SPDX-License-Identifier: MIT - - - + + ${docker.deploy-username} + ${docker.deploy-password} @@ -910,7 +917,7 @@ SPDX-License-Identifier: MIT Aggregate Test Coverage ${project.reporting.outputDirectory}/jacoco - + ${project.build.directory}/jacoco.exec @@ -942,7 +949,11 @@ SPDX-License-Identifier: MIT release - + + true + ${docker.deploy.repo}/b3partners/${project.artifactId}:${project.version} + ${docker.deploy.repo}/b3partners/${project.artifactId}:latest +