Skip to content

Bump org.codehaus.mojo:extra-enforcer-rules from 1.8.0 to 1.9.0 #426

Bump org.codehaus.mojo:extra-enforcer-rules from 1.8.0 to 1.9.0

Bump org.codehaus.mojo:extra-enforcer-rules from 1.8.0 to 1.9.0 #426

Workflow file for this run

name: Java with Maven
on: [ push, pull_request, workflow_dispatch ]
jobs:
build-and-test-job:
if: github.event_name == 'pull_request' || startsWith(github.ref, 'refs/heads/develop') || startsWith(github.ref, 'refs/tags/v')
strategy:
fail-fast: false
matrix:
java: [ 21 ]
os: [ ubuntu-latest, macos-13, windows-latest ]
name: JDK${{ matrix.java }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout source code
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Pre-download dependencies with Maven
uses: nick-fields/retry@v3
with:
command: mvn -U -B -ntp dependency:go-offline
max_attempts: 3
timeout_minutes: 5
- name: Build and (headless) test with Maven
uses: smithki/[email protected]
with:
run: mvn -U -B -ntp verify
auto-merge-job:
needs: build-and-test-job
if: startsWith(github.repository, 'jdemetra/') && github.event_name == 'pull_request' && github.actor == 'dependabot[bot]'
permissions:
contents: write
pull-requests: write
name: Auto-merge on dependabot PR
runs-on: ubuntu-latest
steps:
- name: Merge PR
uses: nick-fields/retry@v3
with:
command: gh pr merge --auto --rebase "$PR_URL"
max_attempts: 3
timeout_minutes: 5
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
snapshot-job:
needs: build-and-test-job
if: startsWith(github.repository, 'jdemetra/') && startsWith(github.ref, 'refs/heads/develop')
strategy:
matrix:
java: [ 21 ]
os: [ ubuntu-latest ]
name: Snapshot on develop
runs-on: ${{ matrix.os }}
steps:
- name: Checkout source code
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Deploy snapshot with Maven if settings defined
run: test ! -f ci.settings.xml || mvn -B -ntp deploy -DskipTests -s ci.settings.xml -P base-deploy,snapshot-deploy,!non-deployable-modules
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
SIGN_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
SIGN_KEY_PASS: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
- name: Dryrun release assets with Maven
run: mvn -B -ntp install -DskipTests -P full-release -Djreleaser.output.directory=$PWD/out/jreleaser -Djreleaser.dry.run
env:
JRELEASER_GITHUB_TOKEN: ${{ secrets.JRELEASER_GITHUB_TOKEN }}
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.MAVEN_GPG_PUBLIC_KEY }}
JRELEASER_GPG_SECRET_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
JRELEASER_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
- name: Upload JReleaser output
if: always()
uses: actions/upload-artifact@v4
with:
name: assets-snapshot-log
path: |
out/jreleaser/trace.log
out/jreleaser/output.properties
release-job:
needs: build-and-test-job
if: startsWith(github.repository, 'jdemetra/') && startsWith(github.ref, 'refs/tags/v')
strategy:
matrix:
java: [ 21 ]
os: [ ubuntu-latest ]
name: Release on tag
runs-on: ${{ matrix.os }}
steps:
- name: Checkout source code
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Deploy with Maven if settings defined
run: test ! -f ci.settings.xml || mvn -B -ntp deploy -DskipTests -s ci.settings.xml -P base-deploy,release-deploy,!non-deployable-modules
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
SIGN_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
SIGN_KEY_PASS: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
# Fix https://issues.sonatype.org/browse/OSSRH-66257
MAVEN_OPTS: "--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED"
- name: Release assets with Maven
run: mvn -B -ntp install -DskipTests -P full-release -Djreleaser.output.directory=$PWD/out/jreleaser
env:
JRELEASER_GITHUB_TOKEN: ${{ secrets.JRELEASER_GITHUB_TOKEN }}
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.MAVEN_GPG_PUBLIC_KEY }}
JRELEASER_GPG_SECRET_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
JRELEASER_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
- name: Upload JReleaser output
if: always()
uses: actions/upload-artifact@v4
with:
name: assets-release-log
path: |
out/jreleaser/trace.log
out/jreleaser/output.properties