Skip to content

Merge branch 'main' into feature/assertj-protobuf-3736 #11

Merge branch 'main' into feature/assertj-protobuf-3736

Merge branch 'main' into feature/assertj-protobuf-3736 #11

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 25 (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Setup Java
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5.1.0
with:
distribution: 'zulu'
java-version: '25'
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: [26, 27, leyden, loom, valhalla]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Set up Java
uses: oracle-actions/setup-java@fff43251af9936a0e6a4d5d0946e14f1680e9b6b # v1.5.0
with:
website: jdk.java.net
release: ${{ matrix.java }}
version: latest
- name: Test
run: ./mvnw $MAVEN_ARGS verify
groovy:
name: Groovy ${{ matrix.groovy }}
strategy:
fail-fast: false
matrix:
# https://groovy.apache.org/download.html
groovy: [4.0.28]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Setup Java
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5.1.0
with:
distribution: 'zulu'
java-version: '25'
cache: 'maven'
- name: Test
run: ./mvnw $MAVEN_ARGS -Dgroovy.version=${{ matrix.groovy }} verify
kotlin:
name: Kotlin ${{ matrix.kotlin }}
strategy:
fail-fast: false
matrix:
# https://kotlinlang.org/docs/releases.html#release-details
kotlin: [2.1.21]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Setup Java
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5.1.0
with:
distribution: 'zulu'
java-version: '25'
cache: 'maven'
- name: Test
run: ./mvnw $MAVEN_ARGS -Dkotlin.version=${{ matrix.kotlin }} verify
javadoc:
name: Javadoc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Set up Java
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5.1.0
with:
distribution: 'zulu'
java-version: '25'
cache: 'maven'
- name: Generate Javadoc
run: ./mvnw $MAVEN_ARGS -DskipTests package javadoc:javadoc
sonar:
name: Sonar code analysis
runs-on: ubuntu-latest
if: github.repository_owner == 'assertj' && github.event_name == 'push'
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5.1.0
with:
distribution: 'zulu'
java-version: '25'
cache: 'maven'
- name: Test with Sonar
run: >
./mvnw $MAVEN_ARGS verify sonar:sonar
-Dsonar.host.url=https://sonarcloud.io
-Dsonar.organization=assertj
-Dsonar.projectKey=joel-costigliola_assertj-core
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
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@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Set up Maven Central
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5.1.0
with:
distribution: 'zulu'
java-version: '25'
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 }}