reduce dependencies in gradle plugin utils #118
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Pre Merge Checks | |
| on: | |
| push: | |
| branches: | |
| - "master" # run on master branch only - no need to start the job automatically otherwise | |
| pull_request: | |
| branches: | |
| - "**" # run on PRs targeting ANY branch (assuming we check the Gradle wrapper first) | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| # kover-report action needs updating the PR report | |
| pull-requests: write | |
| jobs: | |
| gradle: | |
| strategy: | |
| # don't fail immediately - otherwise failing build on Windows will cancel all other builds | |
| fail-fast: false | |
| matrix: | |
| # build project on some operating systems | |
| os: [ ubuntu-latest, windows-latest, macos-latest ] | |
| # build on all supported LTS java versions | |
| jdk: [ 17, 21 ] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| # https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle#using-the-gradle-starter-workflow | |
| - name: Harden the runner (Audit all outbound calls) | |
| uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout Repo | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| # Protect from putting custom jar as a gradle wrapper | |
| # https://github.com/gradle/actions/tree/main/wrapper-validation | |
| - name: Validate Gradle wrapper | |
| uses: gradle/actions/wrapper-validation@v5 | |
| # setup JDK - depending on version selected | |
| # https://github.com/marketplace/actions/setup-java-jdk | |
| - name: Set up JDK | |
| uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0 | |
| with: | |
| java-version: ${{ matrix.jdk }} | |
| distribution: 'temurin' | |
| # Optimize Gradle execution | |
| # https://github.com/marketplace/actions/build-with-gradle | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| # Build the project by simply running the command line | |
| # No need to use daemon (this is run once container), however we print detailed logs and stacktraces | |
| - name: Assemble the project | |
| run: ./gradlew build --stacktrace --info --no-daemon | |
| - name: Generate kover coverage report | |
| run: ./gradlew koverXmlReport | |
| # see https://app.codecov.io/github/build-extensions-oss | |
| - name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: ./build/reports/kover/report.xml | |
| verbose: true | |
| token: ${{ secrets.CODECOV_TOKEN }} |