Skip to content

Language Feature: Static generic class variables #68

Language Feature: Static generic class variables

Language Feature: Static generic class variables #68

Workflow file for this run

name: CI (build & test)
on:
push:
branches: [ master ]
pull_request:
types: [opened, synchronize, reopened]
concurrency:
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
name: Gradle build on ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
permissions:
contents: read
env:
GRADLE_OPTS: -Dorg.gradle.daemon=false
defaults:
run:
working-directory: de.peeeq.wurstscript
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Temurin JDK 25
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '25'
cache: 'gradle'
# Pin Gradle toolchains to the setup-java JDK (avoid /usr/lib/jvm on Ubuntu)
- name: Pin Gradle toolchain
run: |
echo "org.gradle.java.installations.paths=${JAVA_HOME}" >> gradle.properties
echo "org.gradle.java.installations.auto-detect=false" >> gradle.properties
# Cross-shell Java/jlink version print (works on both Bash and PowerShell)
- name: Show Java & jlink
shell: bash
run: |
echo "JAVA_HOME=${JAVA_HOME}"
"${JAVA_HOME}/bin/java" -version
"${JAVA_HOME}/bin/jlink" --version
- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v4
- name: Setup Gradle (build cache)
uses: gradle/actions/setup-gradle@v4
- name: Run tests
run: ./gradlew test --no-daemon --stacktrace
# Build slim jlink image + package for the *current runner OS*
- name: Package slim runtime
run: ./gradlew checksumSlimCompilerDist --no-daemon --stacktrace
- name: Upload packaged artifact (per-OS)
uses: actions/upload-artifact@v4
with:
name: wurst-compiler-${{ matrix.os }}
path: |
de.peeeq.wurstscript/build/releases/*.zip
de.peeeq.wurstscript/build/releases/*.tar.gz
de.peeeq.wurstscript/build/releases/*.sha256
if-no-files-found: error
retention-days: 7