Language Feature: Static generic class variables #67
Workflow file for this run
This file contains hidden or 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: 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 | |
| JAVA_TOOL_OPTIONS: --enable-native-access=ALL-UNNAMED | |
| 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' | |
| - name: Validate Gradle wrapper | |
| uses: gradle/actions/wrapper-validation@v4 | |
| - name: Setup Gradle cache | |
| uses: gradle/actions/setup-gradle@v4 | |
| # Ensure Gradle/toolchain use the setup-java JDK (avoids /usr/lib/jvm noise on Ubuntu) | |
| - name: Pin Gradle toolchain to setup-java JDK | |
| run: | | |
| echo "org.gradle.java.installations.paths=$JAVA_HOME" >> gradle.properties | |
| echo "org.gradle.java.installations.auto-detect=false" >> gradle.properties | |
| - name: Print Java & jlink | |
| run: | | |
| echo "JAVA_HOME=$JAVA_HOME" | |
| "$JAVA_HOME/bin/java" -version | |
| "$JAVA_HOME/bin/jlink" --version | |
| - 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 |