fix(deps): update all non-major dependencies to v0.60.0 #200
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: 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@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 project dependencies | |
test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
needs: setup | |
permissions: | |
checks: write | |
pull-requests: write | |
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: Generate Docker Cache Key | |
id: docker_cache_key | |
run: | | |
files=$(find . -type f \( -name 'docker-compose.yml' -o -name 'Dockerfile' \)) | |
file_contents=$(cat $files) | |
key=$(echo "${file_contents}" | sha1sum | awk '{print $1}') | |
echo "key=${key}" >> "$GITHUB_OUTPUT" | |
- name: Load Docker Cache | |
uses: ScribeMD/docker-cache@0.5.0 | |
with: | |
key: docker-${{ runner.os }}-${{ steps.docker_cache_key.outputs.key }} | |
- name: Change Permissions | |
run: chmod +x ./gradlew | |
- name: Setup Servers | |
run: bash .github/test.sh | |
- name: Gradle Test | |
run: ./gradlew clean test | |
- name: Stop Servers | |
if: success() || failure() | |
run: | | |
rm -rf /tmp/admin.password | |
docker stop jenkins-rest | |
docker rm jenkins-rest | |
docker stop nexus-rest | |
docker rm nexus-rest | |
docker stop mariadb | |
docker rm mariadb | |
docker network rm codemc | |
- name: Archive Test Reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-report | |
path: build/reports/tests/test/ | |
- name: Collect JaCoCo Report | |
if: ${{ github.event_name != 'pull_request' }} | |
id: jacoco_reporter | |
uses: PavanMudigonda/jacoco-reporter@v5.0 | |
with: | |
coverage_results_path: build/jacoco.xml | |
coverage_report_name: Code Coverage | |
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 % | ${{ 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 | |
path: "*/coverage-results.md" | |
- name: Upload Code Coverage Artifacts (Pull Request) | |
if: ${{ github.event_name == 'pull_request' }} | |
uses: madrapps/jacoco-report@v1.7.1 | |
with: | |
paths: build/jacoco.xml | |
token: ${{ secrets.GITHUB_TOKEN }} | |
pass-emoji: ✅ | |
min-coverage-overall: 85 | |
min-coverage-changed-files: 90 | |
build: | |
runs-on: ubuntu-latest | |
needs: setup | |
timeout-minutes: 30 | |
strategy: | |
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 | |
run: ./gradlew assemble publishToMavenLocal | |
upload: | |
runs-on: ubuntu-latest | |
needs: build | |
timeout-minutes: 30 | |
name: Create Artifacts | |
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 with Gradle | |
run: ./gradlew clean assemble | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: codemc-api | |
path: | | |
build/libs/*.jar | |
dokka: | |
runs-on: ubuntu-latest | |
needs: [build, test] | |
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} |