Skip to content

Patch v1.0-PATCH-3

Patch v1.0-PATCH-3 #98

Workflow file for this run

name: Java CI with Gradle
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
release:
types: [published] # Trigger extra steps when you publish a release
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write # needed for release uploads
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
- name: Make Gradle wrapper executable
run: chmod +x gradlew
- name: Build project & run tests
run: ./gradlew build --stacktrace --info
- name: Upload test report
if: failure() # always run if tests fail
uses: actions/upload-artifact@v4
with:
name: test-report
path: build/reports/tests/test
- name: Build fat JAR
run: ./gradlew shadowJar --stacktrace --info
- name: Upload fat JAR as artifact
uses: actions/upload-artifact@v4
with:
name: student-database-fat-jar
path: build/libs/student-database-*-fat.jar
- name: Upload fat JAR to GitHub Release
if: github.event_name == 'release'
uses: softprops/action-gh-release@v2
with:
files: build/libs/student-database-*-fat.jar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
dependency-submission:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Make Gradle wrapper executable
run: chmod +x gradlew
- name: Generate and submit dependency graph
uses: gradle/actions/dependency-submission@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0