diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 60d37d1e..f98d4c3d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,20 +1,22 @@ name: Build and test -on: [push] +on: [push, pull_request] jobs: build: runs-on: ubuntu-latest strategy: matrix: - java: [ 8, 11 ] + java: [ 8, 11, 21 ] name: Java ${{ matrix.java }} build steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v1 + uses: actions/setup-java@v4 with: java-version: ${{ matrix.java }} + distribution: 'temurin' + cache: 'maven' - run: echo "M2_HOME=$(dirname $(dirname `which mvn`))" >> $GITHUB_ENV - run: git config --global user.email "test@example.com" diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 00000000..0b00b0e7 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,37 @@ +name: Publish to Maven Central Repository +on: workflow_dispatch + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install gpg secret key + run: cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import + - name: Set up Maven Central Repository + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'temurin' + cache: 'maven' + - name: Set up maven settings + uses: s4u/maven-settings-action@v3.1.0 + with: + servers: | + [{ + "id": "ossrh", + "username": "${{ secrets.OSSRH_USERNAME }}", + "password": "${{ secrets.OSSRH_TOKEN }}" + }, + { + "id": "gpg.passphrase", + "passphrase": "${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}", + "configuration": {} + }] + - run: git config --global user.email "test@example.com" + - run: git config --global user.name "Github Action" + - run: echo "M2_HOME=$(dirname $(dirname `which mvn`))" >> $GITHUB_ENV + - name: Verify package + run: mvn --batch-mode verify + - name: Release package + run: mvn --batch-mode -DskipTests=true releaser:release diff --git a/pom.xml b/pom.xml index 7a01cc3a..dc983694 100644 --- a/pom.xml +++ b/pom.xml @@ -22,11 +22,11 @@ UTF-8 github 0.0.9 - 3.8.5 - 3.8.5 + 3.9.9 + 3.9.9 2.2.1 - 3.8.5 - 3.8.5 + 3.9.9 + 3.9.9 @@ -36,7 +36,7 @@ https://github.com/danielflower/multi-module-maven-release-plugin - scm:git:git@github.com:danielflower/multi-module-maven-release-plugin.git + scm:git:https://github.com/danielflower/multi-module-maven-release-plugin.git 2015 @@ -128,7 +128,7 @@ org.apache.maven.plugin-tools maven-plugin-annotations - 3.6.4 + 3.15.1 org.apache.maven.shared @@ -138,12 +138,12 @@ org.eclipse.jgit org.eclipse.jgit - 5.13.0.202109080827-r + 5.13.3.202401111512-r org.eclipse.jgit org.eclipse.jgit.ssh.jsch - 5.13.0.202109080827-r + 5.13.3.202401111512-r com.jcraft @@ -165,13 +165,18 @@ org.codehaus.plexus plexus-utils - 3.4.1 + 4.0.2 + + + org.codehaus.plexus + plexus-xml + 4.0.4 commons-io commons-io - 2.11.0 + 2.18.0 test @@ -183,13 +188,13 @@ org.apache.commons commons-exec - 1.3 + 1.4.0 test org.hamcrest hamcrest - 2.2 + 3.0 test @@ -201,7 +206,7 @@ org.mockito mockito-core - 4.4.0 + 4.11.0 test @@ -251,12 +256,12 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 + 3.5.2 org.apache.maven.plugins maven-compiler-plugin - 3.9.0 + 3.13.0 1.8 1.8 @@ -283,12 +288,12 @@ org.apache.maven.plugins maven-site-plugin - 3.10.0 + 3.21.0 org.apache.maven.doxia doxia-module-markdown - 1.11.1 + 2.0.0 @@ -319,7 +324,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.13 true ossrh @@ -330,7 +335,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.3.1 attach-sources @@ -343,7 +348,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.3.1 + 3.11.2 attach-javadocs @@ -356,7 +361,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.0.1 + 3.2.4 sign-artifacts @@ -395,7 +400,7 @@ org.apache.maven.plugins maven-plugin-plugin - 3.6.4 + 3.15.1 releaser @@ -403,12 +408,12 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.0.0-M5 + 3.5.2 org.apache.maven.plugins maven-project-info-reports-plugin - 3.2.1 + 3.8.0