From d8ed2f574cdbc2803ec46f976641a23866510985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Zu=CC=88hlke?= Date: Mon, 21 Oct 2024 23:17:17 +0200 Subject: [PATCH 1/3] Update GraalVM from 17 to 21 GraalVM is no longer available under the free license: https://github.com/graalvm/setup-graalvm#notes-on-oracle-graalvm-for-jdk-17 sbt-typelevel already did the same: https://github.com/typelevel/sbt-typelevel/pull/763 --- .github/workflows/ci.yml | 81 +++++++++++++++++++--------------------- build.sbt | 7 +--- 2 files changed, 39 insertions(+), 49 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 48a693bbbd..abd60c5277 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: matrix: os: [ubuntu-latest, windows-latest, macos-12] scala: [3.2.2, 2.12.17, 2.13.10] - java: [temurin@8, temurin@11, temurin@17, graalvm@17] + java: [temurin@8, temurin@11, temurin@17, graalvm@21] ci: [ciJVM, ciNative, ciJS, ciFirefox, ciChrome] exclude: - scala: 3.2.2 @@ -39,7 +39,7 @@ jobs: - scala: 2.12.17 java: temurin@17 - scala: 2.12.17 - java: graalvm@17 + java: graalvm@21 - os: windows-latest scala: 3.2.2 - os: macos-12 @@ -61,7 +61,7 @@ jobs: - ci: ciJS java: temurin@17 - ci: ciJS - java: graalvm@17 + java: graalvm@21 - os: windows-latest ci: ciJS - os: macos-12 @@ -71,7 +71,7 @@ jobs: - ci: ciFirefox java: temurin@17 - ci: ciFirefox - java: graalvm@17 + java: graalvm@21 - os: windows-latest ci: ciFirefox - os: macos-12 @@ -81,7 +81,7 @@ jobs: - ci: ciChrome java: temurin@17 - ci: ciChrome - java: graalvm@17 + java: graalvm@21 - os: windows-latest ci: ciChrome - os: macos-12 @@ -91,7 +91,7 @@ jobs: - ci: ciNative java: temurin@17 - ci: ciNative - java: graalvm@17 + java: graalvm@21 - os: windows-latest ci: ciNative - os: macos-12 @@ -101,7 +101,7 @@ jobs: ci: ciNative scala: 3.2.2 - os: windows-latest - java: graalvm@17 + java: graalvm@21 runs-on: ${{ matrix.os }} timeout-minutes: 60 steps: @@ -184,26 +184,26 @@ jobs: shell: bash run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Download Java (graalvm@17) - id: download-java-graalvm-17 - if: matrix.java == 'graalvm@17' + - name: Download Java (graalvm@21) + id: download-java-graalvm-21 + if: matrix.java == 'graalvm@21' uses: typelevel/download-java@v2 with: distribution: graalvm - java-version: 17 + java-version: 21 - - name: Setup Java (graalvm@17) - id: setup-java-graalvm-17 - if: matrix.java == 'graalvm@17' + - name: Setup Java (graalvm@21) + id: setup-java-graalvm-21 + if: matrix.java == 'graalvm@21' uses: actions/setup-java@v3 with: distribution: jdkfile - java-version: 17 - jdkFile: ${{ steps.download-java-graalvm-17.outputs.jdkFile }} + java-version: 21 + jdkFile: ${{ steps.download-java-graalvm-21.outputs.jdkFile }} cache: sbt - name: sbt update - if: matrix.java == 'graalvm@17' && steps.setup-java-graalvm-17.outputs.cache-hit == 'false' + if: matrix.java == 'graalvm@21' && steps.setup-java-graalvm-21.outputs.cache-hit == 'false' shell: bash run: sbt '++ ${{ matrix.scala }}' reload +update @@ -218,11 +218,6 @@ jobs: shell: bash run: npm install - - name: Install GraalVM Native Image - if: matrix.java == 'graalvm@17' - shell: bash - run: gu install native-image - - name: Configure Windows Pagefile if: matrix.os == 'windows-latest' uses: al-cheb/configure-pagefile-action@d298bdee6b133626425040e3788f1055a8b4cf7a @@ -268,7 +263,7 @@ jobs: run: example/test-js.sh ${{ matrix.scala }} - name: Test GraalVM Native Image - if: matrix.scala == '2.13.10' && matrix.java == 'graalvm@17' && matrix.os == 'ubuntu-latest' + if: matrix.scala == '2.13.10' && matrix.java == 'graalvm@21' && matrix.os == 'ubuntu-latest' shell: bash run: sbt '++ ${{ matrix.scala }}' graalVMExample/nativeImage graalVMExample/nativeImageRun @@ -387,26 +382,26 @@ jobs: if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Download Java (graalvm@17) - id: download-java-graalvm-17 - if: matrix.java == 'graalvm@17' + - name: Download Java (graalvm@21) + id: download-java-graalvm-21 + if: matrix.java == 'graalvm@21' uses: typelevel/download-java@v2 with: distribution: graalvm - java-version: 17 + java-version: 21 - - name: Setup Java (graalvm@17) - id: setup-java-graalvm-17 - if: matrix.java == 'graalvm@17' + - name: Setup Java (graalvm@21) + id: setup-java-graalvm-21 + if: matrix.java == 'graalvm@21' uses: actions/setup-java@v3 with: distribution: jdkfile - java-version: 17 - jdkFile: ${{ steps.download-java-graalvm-17.outputs.jdkFile }} + java-version: 21 + jdkFile: ${{ steps.download-java-graalvm-21.outputs.jdkFile }} cache: sbt - name: sbt update - if: matrix.java == 'graalvm@17' && steps.setup-java-graalvm-17.outputs.cache-hit == 'false' + if: matrix.java == 'graalvm@21' && steps.setup-java-graalvm-21.outputs.cache-hit == 'false' run: sbt '++ ${{ matrix.scala }}' reload +update - name: Download target directories (3.2.2, ciJVM) @@ -636,26 +631,26 @@ jobs: if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Download Java (graalvm@17) - id: download-java-graalvm-17 - if: matrix.java == 'graalvm@17' + - name: Download Java (graalvm@21) + id: download-java-graalvm-21 + if: matrix.java == 'graalvm@21' uses: typelevel/download-java@v2 with: distribution: graalvm - java-version: 17 + java-version: 21 - - name: Setup Java (graalvm@17) - id: setup-java-graalvm-17 - if: matrix.java == 'graalvm@17' + - name: Setup Java (graalvm@21) + id: setup-java-graalvm-21 + if: matrix.java == 'graalvm@21' uses: actions/setup-java@v3 with: distribution: jdkfile - java-version: 17 - jdkFile: ${{ steps.download-java-graalvm-17.outputs.jdkFile }} + java-version: 21 + jdkFile: ${{ steps.download-java-graalvm-21.outputs.jdkFile }} cache: sbt - name: sbt update - if: matrix.java == 'graalvm@17' && steps.setup-java-graalvm-17.outputs.cache-hit == 'false' + if: matrix.java == 'graalvm@21' && steps.setup-java-graalvm-21.outputs.cache-hit == 'false' run: sbt '++ ${{ matrix.scala }}' reload +update - name: Submit Dependencies diff --git a/build.sbt b/build.sbt index 34e6ee2695..7cc7962139 100644 --- a/build.sbt +++ b/build.sbt @@ -137,7 +137,7 @@ val LTSJava = JavaSpec.temurin("11") val LatestJava = JavaSpec.temurin("17") val ScalaJSJava = OldGuardJava val ScalaNativeJava = OldGuardJava -val GraalVM = JavaSpec.graalvm("17") +val GraalVM = JavaSpec.graalvm("21") ThisBuild / githubWorkflowJavaVersions := Seq(OldGuardJava, LTSJava, LatestJava, GraalVM) ThisBuild / githubWorkflowOSes := Seq(PrimaryOS, Windows, MacOS) @@ -154,11 +154,6 @@ ThisBuild / githubWorkflowBuildPreamble ++= Seq( name = Some("Install jsdom and source-map-support"), cond = Some("matrix.ci == 'ciJS'") ), - WorkflowStep.Run( - List("gu install native-image"), - name = Some("Install GraalVM Native Image"), - cond = Some(s"matrix.java == '${GraalVM.render}'") - ), WorkflowStep.Use( UseRef.Public( "al-cheb", From 93d6ab98baf381d09960fdb2869acb621baa7b5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Zu=CC=88hlke?= Date: Tue, 22 Oct 2024 07:44:06 +0200 Subject: [PATCH 2/3] Don't switch to 21, instead use the latest supported JDK 17 version of GraalVM https://github.com/graalvm/setup-graalvm#notes-on-oracle-graalvm-for-jdk-17 --- .github/workflows/ci.yml | 80 +++++++++++++++++++++------------------- build.sbt | 2 +- 2 files changed, 43 insertions(+), 39 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index abd60c5277..8807d1920c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,11 @@ jobs: matrix: os: [ubuntu-latest, windows-latest, macos-12] scala: [3.2.2, 2.12.17, 2.13.10] - java: [temurin@8, temurin@11, temurin@17, graalvm@21] + java: + - temurin@8 + - temurin@11 + - temurin@17 + - graalvm@17.0.12 ci: [ciJVM, ciNative, ciJS, ciFirefox, ciChrome] exclude: - scala: 3.2.2 @@ -39,7 +43,7 @@ jobs: - scala: 2.12.17 java: temurin@17 - scala: 2.12.17 - java: graalvm@21 + java: graalvm@17.0.12 - os: windows-latest scala: 3.2.2 - os: macos-12 @@ -61,7 +65,7 @@ jobs: - ci: ciJS java: temurin@17 - ci: ciJS - java: graalvm@21 + java: graalvm@17.0.12 - os: windows-latest ci: ciJS - os: macos-12 @@ -71,7 +75,7 @@ jobs: - ci: ciFirefox java: temurin@17 - ci: ciFirefox - java: graalvm@21 + java: graalvm@17.0.12 - os: windows-latest ci: ciFirefox - os: macos-12 @@ -81,7 +85,7 @@ jobs: - ci: ciChrome java: temurin@17 - ci: ciChrome - java: graalvm@21 + java: graalvm@17.0.12 - os: windows-latest ci: ciChrome - os: macos-12 @@ -91,7 +95,7 @@ jobs: - ci: ciNative java: temurin@17 - ci: ciNative - java: graalvm@21 + java: graalvm@17.0.12 - os: windows-latest ci: ciNative - os: macos-12 @@ -101,7 +105,7 @@ jobs: ci: ciNative scala: 3.2.2 - os: windows-latest - java: graalvm@21 + java: graalvm@17.0.12 runs-on: ${{ matrix.os }} timeout-minutes: 60 steps: @@ -184,26 +188,26 @@ jobs: shell: bash run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Download Java (graalvm@21) - id: download-java-graalvm-21 - if: matrix.java == 'graalvm@21' + - name: Download Java (graalvm@17.0.12) + id: download-java-graalvm-17.0.12 + if: matrix.java == 'graalvm@17.0.12' uses: typelevel/download-java@v2 with: distribution: graalvm - java-version: 21 + java-version: 17.0.12 - - name: Setup Java (graalvm@21) - id: setup-java-graalvm-21 - if: matrix.java == 'graalvm@21' + - name: Setup Java (graalvm@17.0.12) + id: setup-java-graalvm-17.0.12 + if: matrix.java == 'graalvm@17.0.12' uses: actions/setup-java@v3 with: distribution: jdkfile - java-version: 21 - jdkFile: ${{ steps.download-java-graalvm-21.outputs.jdkFile }} + java-version: 17.0.12 + jdkFile: ${{ steps.download-java-graalvm-17.0.12.outputs.jdkFile }} cache: sbt - name: sbt update - if: matrix.java == 'graalvm@21' && steps.setup-java-graalvm-21.outputs.cache-hit == 'false' + if: matrix.java == 'graalvm@17.0.12' && steps.setup-java-graalvm-17.0.12.outputs.cache-hit == 'false' shell: bash run: sbt '++ ${{ matrix.scala }}' reload +update @@ -263,7 +267,7 @@ jobs: run: example/test-js.sh ${{ matrix.scala }} - name: Test GraalVM Native Image - if: matrix.scala == '2.13.10' && matrix.java == 'graalvm@21' && matrix.os == 'ubuntu-latest' + if: matrix.scala == '2.13.10' && matrix.java == 'graalvm@17.0.12' && matrix.os == 'ubuntu-latest' shell: bash run: sbt '++ ${{ matrix.scala }}' graalVMExample/nativeImage graalVMExample/nativeImageRun @@ -382,26 +386,26 @@ jobs: if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Download Java (graalvm@21) - id: download-java-graalvm-21 - if: matrix.java == 'graalvm@21' + - name: Download Java (graalvm@17.0.12) + id: download-java-graalvm-17.0.12 + if: matrix.java == 'graalvm@17.0.12' uses: typelevel/download-java@v2 with: distribution: graalvm - java-version: 21 + java-version: 17.0.12 - - name: Setup Java (graalvm@21) - id: setup-java-graalvm-21 - if: matrix.java == 'graalvm@21' + - name: Setup Java (graalvm@17.0.12) + id: setup-java-graalvm-17.0.12 + if: matrix.java == 'graalvm@17.0.12' uses: actions/setup-java@v3 with: distribution: jdkfile - java-version: 21 - jdkFile: ${{ steps.download-java-graalvm-21.outputs.jdkFile }} + java-version: 17.0.12 + jdkFile: ${{ steps.download-java-graalvm-17.0.12.outputs.jdkFile }} cache: sbt - name: sbt update - if: matrix.java == 'graalvm@21' && steps.setup-java-graalvm-21.outputs.cache-hit == 'false' + if: matrix.java == 'graalvm@17.0.12' && steps.setup-java-graalvm-17.0.12.outputs.cache-hit == 'false' run: sbt '++ ${{ matrix.scala }}' reload +update - name: Download target directories (3.2.2, ciJVM) @@ -631,26 +635,26 @@ jobs: if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Download Java (graalvm@21) - id: download-java-graalvm-21 - if: matrix.java == 'graalvm@21' + - name: Download Java (graalvm@17.0.12) + id: download-java-graalvm-17.0.12 + if: matrix.java == 'graalvm@17.0.12' uses: typelevel/download-java@v2 with: distribution: graalvm - java-version: 21 + java-version: 17.0.12 - - name: Setup Java (graalvm@21) - id: setup-java-graalvm-21 - if: matrix.java == 'graalvm@21' + - name: Setup Java (graalvm@17.0.12) + id: setup-java-graalvm-17.0.12 + if: matrix.java == 'graalvm@17.0.12' uses: actions/setup-java@v3 with: distribution: jdkfile - java-version: 21 - jdkFile: ${{ steps.download-java-graalvm-21.outputs.jdkFile }} + java-version: 17.0.12 + jdkFile: ${{ steps.download-java-graalvm-17.0.12.outputs.jdkFile }} cache: sbt - name: sbt update - if: matrix.java == 'graalvm@21' && steps.setup-java-graalvm-21.outputs.cache-hit == 'false' + if: matrix.java == 'graalvm@17.0.12' && steps.setup-java-graalvm-17.0.12.outputs.cache-hit == 'false' run: sbt '++ ${{ matrix.scala }}' reload +update - name: Submit Dependencies diff --git a/build.sbt b/build.sbt index 7cc7962139..696e1bbb66 100644 --- a/build.sbt +++ b/build.sbt @@ -137,7 +137,7 @@ val LTSJava = JavaSpec.temurin("11") val LatestJava = JavaSpec.temurin("17") val ScalaJSJava = OldGuardJava val ScalaNativeJava = OldGuardJava -val GraalVM = JavaSpec.graalvm("21") +val GraalVM = JavaSpec.graalvm("17.0.12") ThisBuild / githubWorkflowJavaVersions := Seq(OldGuardJava, LTSJava, LatestJava, GraalVM) ThisBuild / githubWorkflowOSes := Seq(PrimaryOS, Windows, MacOS) From 65bdeb6e7c387ec5caf585bdbfc8926fa435a055 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Zu=CC=88hlke?= Date: Fri, 25 Oct 2024 17:21:43 +0200 Subject: [PATCH 3/3] remove GraalVM from the build of this branch --- .github/workflows/ci.yml | 90 +--------------------------------------- build.sbt | 34 ++++++--------- 2 files changed, 14 insertions(+), 110 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8807d1920c..9c8504ad85 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,11 +29,7 @@ jobs: matrix: os: [ubuntu-latest, windows-latest, macos-12] scala: [3.2.2, 2.12.17, 2.13.10] - java: - - temurin@8 - - temurin@11 - - temurin@17 - - graalvm@17.0.12 + java: [temurin@8, temurin@11, temurin@17] ci: [ciJVM, ciNative, ciJS, ciFirefox, ciChrome] exclude: - scala: 3.2.2 @@ -42,8 +38,6 @@ jobs: java: temurin@11 - scala: 2.12.17 java: temurin@17 - - scala: 2.12.17 - java: graalvm@17.0.12 - os: windows-latest scala: 3.2.2 - os: macos-12 @@ -64,8 +58,6 @@ jobs: java: temurin@11 - ci: ciJS java: temurin@17 - - ci: ciJS - java: graalvm@17.0.12 - os: windows-latest ci: ciJS - os: macos-12 @@ -74,8 +66,6 @@ jobs: java: temurin@11 - ci: ciFirefox java: temurin@17 - - ci: ciFirefox - java: graalvm@17.0.12 - os: windows-latest ci: ciFirefox - os: macos-12 @@ -84,8 +74,6 @@ jobs: java: temurin@11 - ci: ciChrome java: temurin@17 - - ci: ciChrome - java: graalvm@17.0.12 - os: windows-latest ci: ciChrome - os: macos-12 @@ -94,8 +82,6 @@ jobs: java: temurin@11 - ci: ciNative java: temurin@17 - - ci: ciNative - java: graalvm@17.0.12 - os: windows-latest ci: ciNative - os: macos-12 @@ -104,8 +90,6 @@ jobs: - os: macos-12 ci: ciNative scala: 3.2.2 - - os: windows-latest - java: graalvm@17.0.12 runs-on: ${{ matrix.os }} timeout-minutes: 60 steps: @@ -188,29 +172,6 @@ jobs: shell: bash run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Download Java (graalvm@17.0.12) - id: download-java-graalvm-17.0.12 - if: matrix.java == 'graalvm@17.0.12' - uses: typelevel/download-java@v2 - with: - distribution: graalvm - java-version: 17.0.12 - - - name: Setup Java (graalvm@17.0.12) - id: setup-java-graalvm-17.0.12 - if: matrix.java == 'graalvm@17.0.12' - uses: actions/setup-java@v3 - with: - distribution: jdkfile - java-version: 17.0.12 - jdkFile: ${{ steps.download-java-graalvm-17.0.12.outputs.jdkFile }} - cache: sbt - - - name: sbt update - if: matrix.java == 'graalvm@17.0.12' && steps.setup-java-graalvm-17.0.12.outputs.cache-hit == 'false' - shell: bash - run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Setup NodeJS v18 LTS if: matrix.ci == 'ciJS' uses: actions/setup-node@v3 @@ -266,11 +227,6 @@ jobs: shell: bash run: example/test-js.sh ${{ matrix.scala }} - - name: Test GraalVM Native Image - if: matrix.scala == '2.13.10' && matrix.java == 'graalvm@17.0.12' && matrix.os == 'ubuntu-latest' - shell: bash - run: sbt '++ ${{ matrix.scala }}' graalVMExample/nativeImage graalVMExample/nativeImageRun - - name: Test Example Native App Using Binary if: matrix.ci == 'ciNative' && matrix.os == 'ubuntu-latest' shell: bash @@ -386,28 +342,6 @@ jobs: if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Download Java (graalvm@17.0.12) - id: download-java-graalvm-17.0.12 - if: matrix.java == 'graalvm@17.0.12' - uses: typelevel/download-java@v2 - with: - distribution: graalvm - java-version: 17.0.12 - - - name: Setup Java (graalvm@17.0.12) - id: setup-java-graalvm-17.0.12 - if: matrix.java == 'graalvm@17.0.12' - uses: actions/setup-java@v3 - with: - distribution: jdkfile - java-version: 17.0.12 - jdkFile: ${{ steps.download-java-graalvm-17.0.12.outputs.jdkFile }} - cache: sbt - - - name: sbt update - if: matrix.java == 'graalvm@17.0.12' && steps.setup-java-graalvm-17.0.12.outputs.cache-hit == 'false' - run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Download target directories (3.2.2, ciJVM) uses: actions/download-artifact@v3 with: @@ -635,27 +569,5 @@ jobs: if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Download Java (graalvm@17.0.12) - id: download-java-graalvm-17.0.12 - if: matrix.java == 'graalvm@17.0.12' - uses: typelevel/download-java@v2 - with: - distribution: graalvm - java-version: 17.0.12 - - - name: Setup Java (graalvm@17.0.12) - id: setup-java-graalvm-17.0.12 - if: matrix.java == 'graalvm@17.0.12' - uses: actions/setup-java@v3 - with: - distribution: jdkfile - java-version: 17.0.12 - jdkFile: ${{ steps.download-java-graalvm-17.0.12.outputs.jdkFile }} - cache: sbt - - - name: sbt update - if: matrix.java == 'graalvm@17.0.12' && steps.setup-java-graalvm-17.0.12.outputs.cache-hit == 'false' - run: sbt '++ ${{ matrix.scala }}' reload +update - - name: Submit Dependencies uses: scalacenter/sbt-dependency-submission@v2 diff --git a/build.sbt b/build.sbt index 696e1bbb66..91529b7c12 100644 --- a/build.sbt +++ b/build.sbt @@ -137,9 +137,8 @@ val LTSJava = JavaSpec.temurin("11") val LatestJava = JavaSpec.temurin("17") val ScalaJSJava = OldGuardJava val ScalaNativeJava = OldGuardJava -val GraalVM = JavaSpec.graalvm("17.0.12") -ThisBuild / githubWorkflowJavaVersions := Seq(OldGuardJava, LTSJava, LatestJava, GraalVM) +ThisBuild / githubWorkflowJavaVersions := Seq(OldGuardJava, LTSJava, LatestJava) ThisBuild / githubWorkflowOSes := Seq(PrimaryOS, Windows, MacOS) ThisBuild / githubWorkflowBuildPreamble ++= Seq( @@ -189,12 +188,6 @@ ThisBuild / githubWorkflowBuild := Seq("JVM", "JS", "Native").map { platform => name = Some("Test Example JavaScript App Using Node"), cond = Some(s"matrix.ci == 'ciJS' && matrix.os == '$PrimaryOS'") ), - WorkflowStep.Sbt( - List("graalVMExample/nativeImage", "graalVMExample/nativeImageRun"), - name = Some("Test GraalVM Native Image"), - cond = Some( - s"matrix.scala == '$Scala213' && matrix.java == '${GraalVM.render}' && matrix.os == '$PrimaryOS'") - ), WorkflowStep.Run( List("example/test-native.sh ${{ matrix.scala }}"), name = Some("Test Example Native App Using Binary"), @@ -223,7 +216,7 @@ ThisBuild / githubWorkflowBuildMatrixExclusions := { val scalaJavaFilters = for { scala <- (ThisBuild / githubWorkflowScalaVersions).value.filterNot(Set(Scala213)) java <- (ThisBuild / githubWorkflowJavaVersions).value.filterNot(Set(OldGuardJava)) - if !(scala == Scala3 && (java == LatestJava || java == GraalVM)) + if !(scala == Scala3 && java == LatestJava) } yield MatrixExclude(Map("scala" -> scala, "java" -> java.render)) val windowsAndMacScalaFilters = @@ -265,12 +258,7 @@ ThisBuild / githubWorkflowBuildMatrixExclusions := { ) } - // Nice-to-haves but unreliable in CI - val flakyFilters = Seq( - MatrixExclude(Map("os" -> Windows, "java" -> GraalVM.render)) - ) - - scalaJavaFilters ++ windowsAndMacScalaFilters ++ jsScalaFilters ++ jsJavaAndOSFilters ++ nativeJavaAndOSFilters ++ flakyFilters + scalaJavaFilters ++ windowsAndMacScalaFilters ++ jsScalaFilters ++ jsJavaAndOSFilters ++ nativeJavaAndOSFilters } lazy val useJSEnv = @@ -914,8 +902,8 @@ lazy val testsJVM = tests ) /** - * Implementations of standard functionality (e.g. Semaphore, Console, Queue) purely in terms - * of the typeclasses, with no dependency on IO. In most cases, the *tests* for these + * Implementations of standard functionality (e.g. Semaphore, Console, Queue) purely in terms of + * the typeclasses, with no dependency on IO. In most cases, the *tests* for these * implementations will require IO, and thus those tests will be located within the core * project. */ @@ -992,10 +980,14 @@ lazy val std = crossProject(JSPlatform, JVMPlatform, NativePlatform) ProblemFilters.exclude[MissingClassProblem]( "cats.effect.std.Dispatcher$Mode$Sequential$"), // #4052, private classes - ProblemFilters.exclude[MissingTypesProblem]("cats.effect.std.Dispatcher$RegState$Unstarted$"), - ProblemFilters.exclude[DirectMissingMethodProblem]("cats.effect.std.Dispatcher#RegState#Unstarted.*"), - ProblemFilters.exclude[FinalMethodProblem]("cats.effect.std.Dispatcher#RegState#Unstarted.toString"), - ProblemFilters.exclude[DirectMissingMethodProblem]("cats.effect.std.Dispatcher#Registration#Primary.*"), + ProblemFilters.exclude[MissingTypesProblem]( + "cats.effect.std.Dispatcher$RegState$Unstarted$"), + ProblemFilters.exclude[DirectMissingMethodProblem]( + "cats.effect.std.Dispatcher#RegState#Unstarted.*"), + ProblemFilters.exclude[FinalMethodProblem]( + "cats.effect.std.Dispatcher#RegState#Unstarted.toString"), + ProblemFilters.exclude[DirectMissingMethodProblem]( + "cats.effect.std.Dispatcher#Registration#Primary.*") ) ) .jsSettings(