Skip to content

build

build #5

Workflow file for this run

# 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:
strategy:
matrix:
# Use these Java versions
java: [
21, # Current Java LTS
]
runs-on: ubuntu-22.04
steps:
- name: checkout repository
uses: actions/checkout@v4
- name: validate gradle wrapper
uses: gradle/wrapper-validation-action@v2
- name: setup jdk ${{ matrix.java }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: 'microsoft'
- name: make gradle wrapper executable
run: chmod +x ./gradlew
- name: build
run: ./gradlew build
- name: capture build artifacts
if: ${{ matrix.java == '21' }} # Only upload artifacts built from latest java
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: build/libs/
publish:
if: startsWith(github.ref, 'refs/tags/v')
needs: build
runs-on: ubuntu-22.04
permissions:
contents: write
steps:
- uses: actions/download-artifact@v4
with:
name: build-artifacts
path: build/libs/
- uses: Kir-Antipov/mc-publish@v3.3
with:
# Only include this section if you wish to publish
# your assets on Modrinth.
modrinth-id: kEdo9yMz
modrinth-token: ${{ secrets.MODRINTH_TOKEN }}
# Only include this section if you wish to publish
# your assets on CurseForge.
#curseforge-id: 394468
#curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }}
# Only include this section if you wish to publish
# your assets on GitHub.
github-token: ${{ secrets.GITHUB_TOKEN }}