name: Build permissions: contents: read on: push: branches: [ 'main' ] tags-ignore: [ 'v*' ] pull_request: branches: [ 'main' ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: Validate Gradle wrapper uses: gradle/actions/wrapper-validation@v4 - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 - name: Build run: ./gradlew build --no-daemon -x test - name: Publish locally run: unset CI && ./gradlew publishToMavenLocal - name: Test example project with gradle run: ./gradlew -p ./example build --no-daemon - name: Test example project with maven run: cd example && mvn --batch-mode --update-snapshots package - name: Test run: ./gradlew test check -PrunAllTests --no-daemon -Dorg.gradle.jvmargs="-Xmx4g -XX:MaxMetaspaceSize=1g" - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }}