Skip to content

Update build.yml

Update build.yml #4

Workflow file for this run

name: Build Project
on: [push, pull_request, workflow_dispatch]
jobs:
setup:
runs-on: ubuntu-latest
timeout-minutes: 30
name: Gradle Setup
steps:
- uses: actions/checkout@v4
- uses: gradle/actions/wrapper-validation@v3
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '8'
cache: 'gradle'
- name: Change Permissions
run: chmod +x ./gradlew
- name: Gradle Information
run: ./gradlew project dependencies
test:
runs-on: ubuntu-latest
timeout-minutes: 30
needs: setup
name: Test Project
steps:
- uses: actions/checkout@v4
- name: Setup JDK 8
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'temurin'
cache: 'gradle'
- name: Change Permissions
run: chmod +x ./gradlew
- name: Gradle Test
run: ./gradlew test
- name: Collect JaCoCo Report
id: jacoco_reporter
uses: PavanMudigonda/[email protected]
with:
coverage_results_path: build/jacoco.xml
coverage_report_name: CodeMC API
github_token: ${{ secrets.GITHUB_TOKEN }}
skip_check_run: false
- name: Print JaCoCo Report
run: |
echo "| Outcome | Value |" >> $GITHUB_STEP_SUMMARY
echo "| --- | --- |" >> $GITHUB_STEP_SUMMARY
echo "| Code Coverage % | ${{ 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
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: "*/coverage-results.md"
build:
runs-on: ubuntu-latest
needs: setup
timeout-minutes: 30
strategy:
matrix:
java-version: [ 8, 11, 17, 21 ]
name: Build Java Project
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
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
run: ./gradlew clean assemble publishToMavenLocal
upload:
runs-on: ubuntu-latest
needs: build
timeout-minutes: 30
name: Create Artifacts
steps:
- uses: actions/checkout@v4
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '8'
cache: 'gradle'
- name: Change Permissions
run: chmod +x ./gradlew
- name: Build with Gradle
run: ./gradlew clean assemble
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: codemc-api
path: |
build/libs/*.jar