Skip to content

Enable snapshot publishing #43

Enable snapshot publishing

Enable snapshot publishing #43

Workflow file for this run

name: CI
on: [push, pull_request]
permissions: {}
env:
MAVEN_ARGS: -B -V -ntp -e -Djansi.passthrough=true -Dstyle.color=always
jobs:
java:
name: Java 21 (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macOS-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- name: Set up Java
uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'zulu'
cache: maven
- name: Test
run: ./mvnw $MAVEN_ARGS verify
java-oracle:
name: Java ${{ matrix.java }}
strategy:
fail-fast: false
matrix:
# https://jdk.java.net/
java: [24, 25, 26]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Java
uses: oracle-actions/setup-java@v1
with:
website: jdk.java.net
release: ${{ matrix.java }}
version: latest
- name: Test
run: ./mvnw $MAVEN_ARGS verify
javadoc:
name: Javadoc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Java
uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'zulu'
cache: maven
- name: Generate Javadoc
run: ./mvnw $MAVEN_ARGS compile javadoc:javadoc
publish-snapshot:
name: Publish Snapshot
needs: [java, javadoc]
runs-on: ubuntu-latest
if: github.repository_owner == 'assertj' && github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v5
- name: Set up Maven Central
uses: actions/setup-java@v5
with:
distribution: 'zulu'
java-version: '21'
server-id: central
server-username: MAVEN_CENTRAL_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
- name: Publish to Maven Central
run: ./mvnw $MAVEN_ARGS -DskipTests -Ppublish deploy
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}