kpavlov/jreactive-8583

View on GitHub
.github/workflows/gradle.yml

Summary

Maintainability
Test Coverage
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle

name: Build with Gradle

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]
  workflow_dispatch:
    if: github.actor == github.event.repository.owner.login
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    strategy:
      matrix:
        java: [ '17', '21' ]

    name: Build under JDK ${{ matrix.Java }}

    steps:
      - name: Checkout github repo (+ download lfs dependencies)
        uses: actions/checkout@v4
        with:
          lfs: true
      - name: Set up JDK
        uses: actions/setup-java@v4
        with:
          java-version: ${{ matrix.java }}
          distribution: 'corretto'
          cache: 'gradle'
      - name: Grant execute permission for gradlew
        run: chmod +x gradlew
      - name: Build with Gradle
        uses: gradle/gradle-build-action@v3
        with:
          gradle-version: wrapper
          arguments: check build --stacktrace
      - name: Publish Test Report
        uses: mikepenz/action-junit-report@v4
        if: success() || failure()
        with:
          report_paths: '**/TEST-*.xml'