From a7fc72b2bed3152e8872d149cb8cc0622aa1f0b6 Mon Sep 17 00:00:00 2001 From: "Kevin S. Clarke" Date: Thu, 10 Oct 2024 01:23:22 -0400 Subject: [PATCH] Update CI build and GitHub Actions (#208) --- .github/dependabot.yml | 21 ++++++++++++++++++ .github/workflows/build.yml | 11 ++++++++- .github/workflows/release.yml | 35 +++++++++++++++-------------- pom.xml | 42 +++++++++-------------------------- 4 files changed, 59 insertions(+), 50 deletions(-) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..6dff8c5b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,21 @@ + +version: 2 +updates: + - package-ecosystem: "maven" + directory: "/" + schedule: + interval: "weekly" + assignees: + - "ksclarke" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + assignees: + - "ksclarke" + - package-ecosystem: "docker" + directory: "/src/main/docker" + schedule: + interval: "weekly" + assignees: + - "ksclarke" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0cae2c32..7c34b706 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,9 +10,11 @@ jobs: build: name: Maven PR Builder (JDK ${{ matrix.java }}) runs-on: ubuntu-latest + strategy: matrix: - java: [ 21 ] + java: [ "21" ] + maven: [ "3.8.2" ] steps: @@ -28,6 +30,13 @@ jobs: distribution: 'adopt' java-version: ${{ matrix.java }} + # If running locally in act, install Maven + - name: Set up Maven if needed + if: ${{ env.ACT }} + uses: stCarolas/setup-maven@07fbbe97d97ef44336b7382563d66743297e442f # v4.5 + with: + maven-version: ${{ matrix.maven }} + - name: Cache SonarCloud packages uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 942af440..c4cde055 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,6 @@ name: Maven Release -# Deploy the webrepl when a new tag is published +# Deploy the webrepl when a new tag is pushed on: push: tags: [ 'webrepl-*' ] @@ -9,13 +9,12 @@ jobs: release: name: Maven PR Builder (JDK ${{ matrix.java }}) runs-on: ubuntu-latest - env: - AUTORELEASE_ARTIFACT: false - NEXUS_USERNAME: "${{ secrets.SONATYPE_USERNAME }}" - NEXUS_PASSWORD: "${{ secrets.SONATYPE_PASSWORD }}" + strategy: matrix: java: [ 21 ] + maven: [ 3.8.2 ] + jdk: [ adopt ] steps: @@ -26,18 +25,9 @@ jobs: uses: actions/setup-java@860f60056505705214d223b91ed7a30f173f6142 # v3.3.0 with: cache: maven - distribution: 'adopt' + distribution: ${{ matrix.jdk }} java-version: ${{ matrix.java }} - - name: Import GPG key - run: | - echo "${{ secrets.BUILD_KEY }}" | gpg --batch --import - gpg --list-keys - - - name: Set GPG passphrase for Maven - run: | - echo "MAVEN_GPG_PASSPHRASE=${{ secrets.BUILD_PASSPHRASE }}" >> $GITHUB_ENV - - name: Login to Docker repository uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b # v2.0.0 with: @@ -51,10 +41,21 @@ jobs: TAG_NAME="${GITHUB_REF#refs/tags/}" && echo "RELEASE_VERSION=${TAG_NAME#webrepl-}" >> $GITHUB_ENV + # If running locally in act, install Maven + - name: Set up Maven if needed + if: ${{ env.ACT }} + uses: stCarolas/setup-maven@07fbbe97d97ef44336b7382563d66743297e442f # v4.5 + with: + maven-version: ${{ matrix.maven }} + - name: Build with Maven env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.BUILD_PASSPHRASE }} + MAVEN_GPG_KEY: ${{ secrets.BUILD_KEY }} + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} run: | - mvn deploy -B -ntp -Drevision="${{ env.RELEASE_VERSION }}" -Prelease \ - -Dautorelease.artifact="${{ env.AUTORELEASE_ARTIFACT }}" + mvn deploy -B -ntp -Prelease -Drevision="${{ env.RELEASE_VERSION }}" \ + -DskipNexusStagingDeployMojo="true" -Dautorelease.artifact="false" \ + -Ddocker.registry.account="${{ secrets.DOCKER_ACCOUNT }}" diff --git a/pom.xml b/pom.xml index 3ee3e4a0..7d933169 100644 --- a/pom.xml +++ b/pom.xml @@ -59,18 +59,15 @@ 5.11.0 - - - - - - - true ERROR + + + + @@ -159,10 +156,7 @@ maven-javadoc-plugin - - - https://javadoc.io/doc/info.freelibrary/freelib-utils/${freelib.utils.version}/apidocs - + true @@ -231,7 +225,6 @@ - org.apache.maven.plugins @@ -253,8 +246,7 @@ - - ${docker.registry.account}${project.artifactId}:%l + ${docker.registry.account}${project.artifactId}:${revision} ${project.basedir}/src/main/docker/Dockerfile @@ -338,13 +330,12 @@ - - ${docker.registry.account}${project.artifactId}:%l + ${docker.registry.account}${project.artifactId}:${revision} - ${docker.registry.username} - ${docker.registry.password} + ${env.DOCKER_USERNAME} + ${env.DOCKER_PASSWORD} @@ -353,23 +344,10 @@ - - - ossrh-snapshots - https://oss.sonatype.org/content/repositories/snapshots/ - - false - - - true - - - - freelib-parent info.freelibrary - 11.0.0 + 12.0.0