Skip to content

Merge pull request #473 from xvik/dependabot/gradle/org.objenesis-obj… #1364

Merge pull request #473 from xvik/dependabot/gradle/org.objenesis-obj…

Merge pull request #473 from xvik/dependabot/gradle/org.objenesis-obj… #1364

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
name: Java ${{ matrix.java }}
strategy:
# don't cancel remaining matrix steps on failure
fail-fast: false
matrix:
java: [17, 21]
outputs:
version: ${{ steps.project.outputs.version }}
steps:
- uses: actions/checkout@v6
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v5
with:
distribution: 'zulu'
java-version: ${{ matrix.java }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
- name: Build
run: |
chmod +x gradlew
./gradlew assemble --no-daemon
- name: Test
env:
GH_ACTIONS: true
run: ./gradlew check --no-daemon
- name: Build coverage report
if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request'
run: ./gradlew jacocoTestReport --no-daemon
- uses: codecov/codecov-action@v5
if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request'
with:
files: build/reports/jacoco/test/jacocoTestReport.xml
flags: LINUX
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
- name: Extract Project version
id: 'project'
run: |
ver=$(./gradlew :properties --property version --no-daemon --console=plain -q | grep "^version:" | awk '{printf $2}')
echo "Project version: $ver"
echo "version=$ver" >> $GITHUB_OUTPUT
# publish snapshot after successful tests (only for snapshots)
publish:
if: ${{ github.ref == 'refs/heads/master' && github.event_name != 'pull_request' && endsWith(needs.build.outputs.version, '-SNAPSHOT') }}
needs: build
uses: ./.github/workflows/publish-snapshot.yml
# workflow can't see secrets directly
secrets:
sonatype_user: ${{ secrets.SONATYPE_USERNAME }}
sonatype_password: ${{ secrets.SONATYPE_PASSWORD }}
# run examples with published snapshot (only for snapshots)
examples:
if: ${{ github.ref == 'refs/heads/master' && github.event_name != 'pull_request' && endsWith(needs.build.outputs.version, '-SNAPSHOT') }}
needs: [build, publish]
uses: ./.github/workflows/examples-CI.yml
with:
version: ${{ needs.build.outputs.version }}