Sealed interface recursion #1941
Workflow file for this run
This file contains 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 | |
on: | |
push: | |
paths: | |
- '**.java' | |
- '**.xml' | |
- '.github/workflows/*.yml' | |
pull_request: | |
jobs: | |
supported-jdk: | |
name: ${{ matrix.title }} | |
continue-on-error: ${{ matrix.experimental }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- title: "Supported JDK 8" | |
experimental: false | |
cache-id: "jdk8" | |
java: 8 | |
dist: temurin | |
flags: "" | |
- title: "Supported JDK 11" | |
experimental: false | |
cache-id: "jdk11" | |
java: 11 | |
dist: temurin | |
flags: "" | |
- title: "Supported JDK 17" | |
experimental: false | |
cache-id: "jdk17" | |
java: 17 | |
dist: temurin | |
flags: "" | |
- title: "Supported JDK 21" | |
experimental: false | |
cache-id: "jdk21" | |
java: 21 | |
dist: temurin | |
flags: "" | |
- title: "Experimental JDK EA (simplified)" | |
experimental: true | |
cache-id: "jdk-ea-simple" | |
java: "ea" | |
flags: "-Dexperimental -DdisableStaticAnalysis" | |
- title: "Experimental JDK EA (full)" | |
experimental: true | |
cache-id: "jdk-ea-full" | |
java: "ea" | |
flags: "-Dexperimental" | |
runs-on: ubuntu-latest | |
steps: | |
- name: 'Checkout from Git' | |
# Can't refer to matrix in job if conditional, so we have to repeat it every step: https://github.com/actions/runner/issues/1985 | |
if: ${{ !(matrix.experimental && github.event_name == 'pull_request') }} | |
uses: actions/checkout@v4 | |
- name: 'Cache Maven repo' | |
if: ${{ !(matrix.experimental && github.event_name == 'pull_request') }} | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.m2/repository | |
target/spotless-node-modules-prettier-format | |
key: ${{ runner.os }}-mvn-${{ matrix.cache-id }}-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-mvn-${{ matrix.cache-id }} | |
- name: 'Set up JDK ${{ matrix.java }} (regular)' | |
if: ${{ !matrix.experimental }} | |
uses: actions/setup-java@v4 | |
with: | |
distribution: ${{ matrix.dist }} | |
java-version: ${{ matrix.java }} | |
- name: 'Set up JDK ${{ matrix.java }} (oracle)' | |
if: ${{ matrix.experimental && github.event_name != 'pull_request' }} | |
uses: oracle-actions/setup-java@v1 | |
with: | |
website: jdk.java.net | |
release: ${{ matrix.java }} | |
- name: 'Display JDK version' | |
if: ${{ !(matrix.experimental && github.event_name == 'pull_request') }} | |
run: java -version | |
- name: 'Run Maven' | |
if: ${{ !(matrix.experimental && github.event_name == 'pull_request') }} | |
run: mvn clean verify --no-transfer-progress ${{ matrix.flags }} |