Skip to content

Build

Build #105

Workflow file for this run

#file: noinspection SpellCheckingInspection
name: Build
on:
pull_request:
paths-ignore:
- '**/*.md'
- '**/*.txt'
- '**/update.json'
workflow_dispatch:
permissions:
pull-requests: write
issues: write
jobs:
build:
strategy:
matrix:
java: [ 16 ]
os: [ ubuntu-latest, windows-latest ]
name: "forge (Java ${{ matrix.java }} on ${{ matrix.os }})"
runs-on: ${{ matrix.os }}
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
- name: "Cache Gradle dependencies"
uses: actions/cache@v4
id: cache-gradle-dependencies
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: "${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}"
restore-keys: |
${{ runner.os }}-gradle-
- name: "Validate gradle wrapper"
uses: gradle/wrapper-validation-action@v3
- name: "Setup jdk ${{ matrix.java }}"
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
- name: "Make gradle wrapper executable"
if: ${{ runner.os != 'Windows' }}
run: chmod +x ./gradlew
- name: "Run gradle task: (forge) -> datagen (Linux)"
if: ${{ runner.os != 'Windows' }}
continue-on-error: true
run: ./gradlew :forge:Data
- name: "Run gradle task: (forge) -> datagen (Windows)"
if: ${{ runner.os == 'Windows' }}
shell: pwsh
continue-on-error: true
run: ./gradlew :forge:Data
- name: "Build project"
run: ./gradlew build
- name: "Capture build artifacts"
if: ${{ runner.os == 'Windows' && matrix.java == '16' }}
uses: actions/upload-artifact@v4
with:
name: Artifacts-${{ runner.os }}
path: |
forge/build/libs/
fabric/build/libs/