feat(workflows): add workflow to build project and gen jar #1
This file contains 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 Java Project and Generate JAR | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# Step 1: Checkout the latest code | |
- name: Checkout repository | |
uses: actions/checkout@v4 # Updated to the latest version | |
# Step 2: Set up Java environment with required distribution | |
- name: Set up JDK 22 | |
uses: actions/setup-java@v4 # Updated to the latest version | |
with: | |
java-version: '22' | |
distribution: 'temurin' | |
# Step 3: Cache Gradle dependencies | |
- name: Cache Gradle dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.gradle/caches | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | |
restore-keys: | | |
${{ runner.os }}-gradle | |
# Step 4: Build the project with Gradle and generate the JAR | |
- name: Build with Gradle | |
run: ./gradlew build -x test | |
# Step 5: Upload the generated JAR as an artifact | |
- name: Upload JAR file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: SpellingTrainer | |
path: build/libs/*.jar |