Upgrade SBT 2.x to latest non RC version #894
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: Validate PR | |
| on: | |
| pull_request: | |
| push: | |
| jobs: | |
| # Run the unit test ahead of the scripted tests | |
| validate: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # sbt 1.x / Scala 2.12 build still targets JDK 8. | |
| - os: ubuntu-latest | |
| scala: 2.12.20 | |
| java: 8 | |
| - os: macos-latest | |
| scala: 2.12.20 | |
| java: 8 | |
| # sbt 2.x / Scala 3 build requires JDK 17+ (its compiler bridge is | |
| # compiled to Java 17 class files). | |
| - os: ubuntu-latest | |
| scala: 3.8.4 | |
| java: 17 | |
| - os: macos-latest | |
| scala: 3.8.4 | |
| java: 17 | |
| runs-on: '${{ matrix.os }}' | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Setup JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: zulu | |
| java-version: '${{ matrix.java }}' | |
| cache: sbt | |
| - uses: sbt/setup-sbt@v1 | |
| - name: Validate | |
| run: sbt -v "; ++${{ matrix.scala }} ; validate" | |
| scripted: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # Each scripted suite runs once against sbt 1.x / Scala 2.12 (JDK 8) | |
| # and once against sbt 2.x / Scala 3 (JDK 17+, required by its | |
| # compiler bridge). | |
| - os: ubuntu-latest | |
| java: 8 | |
| distribution: zulu | |
| command: "; ++2.12.20 ; validateUniversal" | |
| - os: ubuntu-latest | |
| java: 17 | |
| distribution: zulu | |
| command: "; ++3.8.4 ; validateUniversal" | |
| - os: ubuntu-latest | |
| java: 8 | |
| distribution: zulu | |
| command: "; ++2.12.20 ; validateUniversalSbt1" # No cross build, only SBT 1.x | |
| - os: ubuntu-latest | |
| java: 17 | |
| distribution: zulu | |
| command: "; ++3.8.4 ; validateUniversalSbt2" # No cross build, only SBT 2.x | |
| - os: ubuntu-latest | |
| java: 8 | |
| distribution: zulu | |
| command: "; ++2.12.20 ; validateJar" | |
| - os: ubuntu-latest | |
| java: 17 | |
| distribution: zulu | |
| command: "; ++3.8.4 ; validateJar" | |
| - os: ubuntu-latest | |
| java: 8 | |
| distribution: zulu | |
| command: "; ++2.12.20 ; validateBash" | |
| - os: ubuntu-latest | |
| java: 17 | |
| distribution: zulu | |
| command: "; ++3.8.4 ; validateBash" | |
| - os: ubuntu-latest | |
| java: 8 | |
| distribution: zulu | |
| command: "; ++2.12.20 ; validateAsh" | |
| - os: ubuntu-latest | |
| java: 17 | |
| distribution: zulu | |
| command: "; ++3.8.4 ; validateAsh" | |
| - os: ubuntu-latest | |
| java: 8 | |
| distribution: zulu | |
| command: "; ++2.12.20 ; validateRpm" | |
| - os: ubuntu-latest | |
| java: 17 | |
| distribution: zulu | |
| command: "; ++3.8.4 ; validateRpm" | |
| - os: ubuntu-latest | |
| java: 8 | |
| distribution: zulu | |
| command: "; ++2.12.20 ; validateDebian" | |
| - os: ubuntu-latest | |
| java: 17 | |
| distribution: zulu | |
| command: "; ++3.8.4 ; validateDebian" | |
| - os: ubuntu-latest | |
| java: 8 | |
| distribution: zulu | |
| command: "; ++2.12.20 ; validateDocker" | |
| - os: ubuntu-latest | |
| java: 17 | |
| distribution: zulu | |
| command: "; ++3.8.4 ; validateDocker" | |
| - os: ubuntu-latest | |
| java: 8 | |
| distribution: zulu | |
| command: "; ++2.12.20 ; validateDockerSbt1" # No cross build, only SBT 1.x | |
| - os: ubuntu-latest | |
| java: 17 | |
| distribution: zulu | |
| command: "; ++3.8.4 ; validateDockerSbt2" # No cross build, only SBT 2.x | |
| - os: ubuntu-latest | |
| java: 11 | |
| distribution: temurin | |
| command: "; ++2.12.20 ; validateJlink" | |
| - os: ubuntu-latest | |
| java: 17 | |
| distribution: temurin | |
| command: "; ++3.8.4 ; validateJlink" | |
| # GraalVM 22 already satisfies the JDK 17+ floor needed by the | |
| # Scala 3 / sbt 2 compiler bridge, so this one stays cross-built. | |
| - os: ubuntu-latest | |
| java: 22 | |
| distribution: graalvm | |
| command: +validateGraalVMNativeImage | |
| - os: macos-latest | |
| java: 8 | |
| distribution: zulu | |
| command: "; ++2.12.20 ; validateMacOS" | |
| - os: macos-latest | |
| java: 17 | |
| distribution: zulu | |
| command: "; ++3.8.4 ; validateMacOS" | |
| - os: windows-latest | |
| java: 8 | |
| distribution: zulu | |
| command: "; ++2.12.20 ; validateWindows" | |
| - os: windows-latest | |
| java: 17 | |
| distribution: zulu | |
| command: "; ++3.8.4 ; validateWindows" | |
| needs: | |
| - validate | |
| runs-on: '${{ matrix.os }}' | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Setup JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: '${{ matrix.distribution }}' | |
| java-version: '${{ matrix.java }}' | |
| cache: sbt | |
| - uses: sbt/setup-sbt@v1 | |
| - name: Scripted test | |
| run: sbt -v '${{ matrix.command }}' | |
| scripted-jdk-packager: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| needs: | |
| - validate | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download Zulu 8 | |
| run: | | |
| # the standard zulu dist doesn't include javafx | |
| download_url="https://cdn.azul.com/zulu/bin/zulu8.38.0.13-ca-fx-jdk8.0.212-linux_x64.tar.gz" | |
| wget -O $RUNNER_TEMP/java_package.tar.gz $download_url | |
| - name: Setup Azul JDK with JavaFX | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: jdkfile | |
| jdkFile: '${{ runner.temp }}/java_package.tar.gz' | |
| java-version: 8.0.0 | |
| architecture: x64 | |
| cache: sbt | |
| - uses: sbt/setup-sbt@v1 | |
| - name: Validate | |
| run: sbt "+validateJdkPackagerTravis" |