Skip to content

Update dependency gradle to v8.12.1 #39

Update dependency gradle to v8.12.1

Update dependency gradle to v8.12.1 #39

Workflow file for this run

name: Build Project
on:
push:
branches: [ master, ver/* ]
pull_request:
branches: [ master, ver/* ]
workflow_dispatch:
jobs:
setup:
runs-on: ubuntu-latest
timeout-minutes: 30
name: Gradle Setup
steps:
- uses: actions/checkout@v4
- uses: gradle/actions/wrapper-validation@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
- name: Change Permissions
run: chmod +x ./gradlew
- name: Gradle Information
run: ./gradlew validatePlugins project dependencies
build:
runs-on: ubuntu-latest
needs: setup
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
java-version: [ 17, 21 ]
name: Build Java Project
steps:
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java-version }}
cache: 'gradle'
- name: Change Permissions
run: chmod +x ./gradlew
- name: Build with Gradle
env:
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_PRIVATE_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}
run: ./gradlew assemble
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
needs: setup
permissions:
checks: write
pull-requests: write
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
name: Test Project
steps:
- uses: actions/checkout@v4
- name: Setup JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: 'gradle'
- name: Change Permissions
run: chmod +x ./gradlew
- name: Gradle Test
run: ./gradlew clean test
- name: Archive Test Reports
if: success() || failure()
uses: actions/upload-artifact@v4
with:
name: test-report-${{ runner.os }}
path: build/reports/tests/test/
- name: Collect JaCoCo Report
if: ${{ github.event_name != 'pull_request' }}
id: jacoco_reporter
uses: PavanMudigonda/[email protected]
with:
coverage_results_path: build/jacoco.xml
coverage_report_name: Code Coverage (${{ matrix.os }})
github_token: ${{ secrets.GITHUB_TOKEN }}
skip_check_run: false
minimum_coverage: 85
fail_below_threshold: false
publish_only_summary: false
- name: Print JaCoCo Report
if: ${{ github.event_name != 'pull_request' }}
run: |
echo "| Outcome | Value |" >> $GITHUB_STEP_SUMMARY
echo "| --- | --- |" >> $GITHUB_STEP_SUMMARY
echo "| Code Coverage (${{ runner.os }}) % | ${{ steps.jacoco_reporter.outputs.coverage_percentage }} |" >> $GITHUB_STEP_SUMMARY
echo "| :heavy_check_mark: Number of Lines Covered | ${{ steps.jacoco_reporter.outputs.covered_lines }} |" >> $GITHUB_STEP_SUMMARY
echo "| :x: Number of Lines Missed | ${{ steps.jacoco_reporter.outputs.missed_lines }} |" >> $GITHUB_STEP_SUMMARY
echo "| Total Number of Lines | ${{ steps.jacoco_reporter.outputs.total_lines }} |" >> $GITHUB_STEP_SUMMARY
- name: Upload Code Coverage Artifacts (Push)
if: ${{ github.event_name != 'pull_request' }}
uses: actions/upload-artifact@v4
with:
name: coverage-report-${{ runner.os }}
path: "*/coverage-results.md"
- name: Upload Code Coverage Artifacts (Pull Request)
if: ${{ github.event_name == 'pull_request' }}
uses: madrapps/[email protected]
with:
paths: build/jacoco.xml
token: ${{ secrets.GITHUB_TOKEN }}
pass-emoji: ✅
min-coverage-overall: 85
min-coverage-changed-files: 90
title: Coverage Report (${{ runner.os }})
update-comment: true
- name: Stop Gradle
run: ./gradlew --stop
deploy:
runs-on: ubuntu-latest
needs: build
name: Deploy Dokka
if: ${{ github.event_name != 'pull_request' && github.ref_name == 'master' }}
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
- name: Change Permissions
run: chmod +x ./gradlew
- name: Build Dokka
run: ./gradlew clean dokkaGeneratePublicationHtml
- name: Deploy Dokka
run: bash dokka.sh ${GITHUB_SHA::7}