mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-21 03:00:34 -04:00
80 lines
2.3 KiB
YAML
80 lines
2.3 KiB
YAML
name: Gradle CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
paths-ignore: [ "**.md", "schemas/**", ".editorconfig", ".gitignore", ".gitattributes" ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
paths-ignore: [ "**.md", "schemas/**", ".editorconfig", ".gitignore", ".gitattributes" ]
|
|
|
|
jobs:
|
|
gradle:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ "ubuntu", "windows", "macos" ]
|
|
runs-on: ${{ matrix.os }}-latest
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-java@v4
|
|
with:
|
|
distribution: zulu
|
|
java-version: 11
|
|
|
|
- name: Setup Gradle
|
|
uses: gradle/gradle-build-action@v3
|
|
|
|
- name: Setup Gradle Dependencies Cache
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.gradle/caches
|
|
key: ${{ matrix.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts', 'gradle.properties') }}
|
|
|
|
|
|
- name: Setup Gradle Wrapper Cache
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.gradle/wrapper
|
|
key: ${{ matrix.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
|
|
|
|
- name: Setup Gradle Wrapper Cache
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ./it
|
|
key: minosoft-assets
|
|
|
|
- name: Build
|
|
uses: gradle/gradle-build-action@v3
|
|
with:
|
|
arguments: assemble -Pminosoft.updates=true
|
|
|
|
- name: Test
|
|
uses: gradle/gradle-build-action@v3
|
|
with:
|
|
arguments: check -Pminosoft.updates=true
|
|
|
|
- name: Package amd64
|
|
uses: gradle/gradle-build-action@v3
|
|
with:
|
|
arguments: fatJar -Pminosoft.updates=true
|
|
- name: Upload amd64 build
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: 'minosoft-${{ matrix.os }}-amd64'
|
|
path: build/libs/minosoft-fat-*-amd64-*.jar
|
|
|
|
- name: Package aarch64
|
|
if: ${{ !startsWith(matrix.os, 'windows') }}
|
|
uses: gradle/gradle-build-action@v3
|
|
with:
|
|
arguments: fatJar -Parchitecture=aarch64 -Pminosoft.updates=true
|
|
- name: Upload aarch64 build
|
|
if: ${{ !startsWith(matrix.os, 'windows') }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: 'minosoft-${{ matrix.os }}-aarch64'
|
|
path: build/libs/minosoft-fat-*-aarch64-*.jar
|