name: Gradle CI with Jacoco on: push: branches: - main pull_request: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v3 - name: Set up JDK 17 uses: actions/setup-java@v3 with: java-version: 17 - name: Cache Gradle uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: Build & Test with Jacoco run: ./gradlew clean test jacocoTestReport - name: Upload Jacoco HTML Report uses: actions/upload-artifact@v3 with: name: jacoco-html-report path: build/jacocoHtml - name: Upload Jacoco XML Report uses: actions/upload-artifact@v3 with: name: jacoco-xml-report path: build/customJacocoReportDir/*.xml - name: Upload Jacoco CSV Report uses: actions/upload-artifact@v3 with: name: jacoco-csv-report path: build/reports/jacoco/jacoco.csv