39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
|
# Automatically build the project and run any configured tests for every push
|
||
|
# and submitted pull request. This can help catch issues that only occur on
|
||
|
# certain platforms or Java versions, and provides a first line of defence
|
||
|
# against bad commits.
|
||
|
|
||
|
name: build
|
||
|
on: [pull_request, push]
|
||
|
|
||
|
jobs:
|
||
|
build:
|
||
|
runs-on: ubuntu-22.04
|
||
|
steps:
|
||
|
- name: checkout repository
|
||
|
uses: actions/checkout@v4
|
||
|
- name: validate gradle wrapper
|
||
|
uses: gradle/actions/wrapper-validation@v3
|
||
|
- name: setup jdk 21
|
||
|
uses: actions/setup-java@v4
|
||
|
with:
|
||
|
distribution: 'temurin'
|
||
|
java-version: 21
|
||
|
- name: cache dependencies
|
||
|
uses: actions/cache@v4
|
||
|
with:
|
||
|
path: |
|
||
|
~/.gradle/caches
|
||
|
~/.gradle/wrapper
|
||
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||
|
restore-keys: |
|
||
|
${{ runner.os }}-gradle-
|
||
|
- name: make gradle wrapper executable
|
||
|
run: chmod +x ./gradlew
|
||
|
- name: build
|
||
|
run: ./gradlew build
|
||
|
- name: capture build artifacts
|
||
|
uses: actions/upload-artifact@v4
|
||
|
with:
|
||
|
name: Artifacts
|
||
|
path: build/libs/
|