From 3d0a5f9326364b43b604584df9cbc9af206a33c6 Mon Sep 17 00:00:00 2001 From: "Ross A. Baker" Date: Thu, 26 May 2022 10:08:22 -0400 Subject: [PATCH 1/2] Servlet 4 support --- build.sbt | 7 +++++-- flake.nix | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index ab169f50..aaf85e0e 100644 --- a/build.sbt +++ b/build.sbt @@ -15,13 +15,16 @@ val Scala213 = "2.13.8" ThisBuild / crossScalaVersions := Seq(Scala213, "3.1.2") ThisBuild / scalaVersion := Scala213 // the default Scala +// Jetty 10+, for testing, requires Java 11. +ThisBuild / tlJdkRelease := Some(8) + lazy val root = tlCrossRootProject.aggregate(servlet, examples) val asyncHttpClientVersion = "2.12.3" -val jettyVersion = "9.4.46.v20220331" +val jettyVersion = "10.0.9" val http4sVersion = "0.23.12" val munitCatsEffectVersion = "1.0.7" -val servletApiVersion = "3.1.0" +val servletApiVersion = "4.0.1" lazy val servlet = project .in(file("servlet")) diff --git a/flake.nix b/flake.nix index e05335bf..0503d3c1 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,7 @@ imports = [ typelevel-nix.typelevelShell ]; name = "http4s-servlet-shell"; typelevelShell = { - jdk.package = pkgs.jdk8; + jdk.package = pkgs.jdk11; nodejs.enable = true; }; }; From b68c61fd38db0605154e2527a72d8fed5c56ee32 Mon Sep 17 00:00:00 2001 From: "Ross A. Baker" Date: Thu, 26 May 2022 11:45:37 -0400 Subject: [PATCH 2/2] Can't test on Java 8 anymore --- .github/workflows/ci.yml | 74 ++++------------------------------------ build.sbt | 1 + 2 files changed, 8 insertions(+), 67 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0ab1e592..bc8d15ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,11 +30,9 @@ jobs: matrix: os: [ubuntu-latest] scala: [2.13.8, 3.1.2] - java: [temurin@8, temurin@11, temurin@17] + java: [temurin@11, temurin@17] project: [rootJVM] exclude: - - scala: 3.1.2 - java: temurin@11 - scala: 3.1.2 java: temurin@17 runs-on: ${{ matrix.os }} @@ -44,22 +42,6 @@ jobs: with: fetch-depth: 0 - - name: Download Java (temurin@8) - id: download-java-temurin-8 - if: matrix.java == 'temurin@8' - uses: typelevel/download-java@v1 - with: - distribution: temurin - java-version: 8 - - - name: Setup Java (temurin@8) - if: matrix.java == 'temurin@8' - uses: actions/setup-java@v2 - with: - distribution: jdkfile - java-version: 8 - jdkFile: ${{ steps.download-java-temurin-8.outputs.jdkFile }} - - name: Download Java (temurin@11) id: download-java-temurin-11 if: matrix.java == 'temurin@11' @@ -108,22 +90,22 @@ jobs: run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' 'project /' githubWorkflowCheck - name: Check headers and formatting - if: matrix.java == 'temurin@8' + if: matrix.java == 'temurin@11' run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck - name: Test run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' test - name: Check binary compatibility - if: matrix.java == 'temurin@8' + if: matrix.java == 'temurin@11' run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' mimaReportBinaryIssues - name: Generate API documentation - if: matrix.java == 'temurin@8' + if: matrix.java == 'temurin@11' run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' doc - name: Check unused compile dependencies - if: matrix.java == 'temurin@8' + if: matrix.java == 'temurin@11' run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' unusedCompileDependenciesTest - name: Make target directories @@ -149,7 +131,7 @@ jobs: matrix: os: [ubuntu-latest] scala: [2.13.8] - java: [temurin@8] + java: [temurin@11] runs-on: ${{ matrix.os }} steps: - name: Checkout current branch (full) @@ -157,22 +139,6 @@ jobs: with: fetch-depth: 0 - - name: Download Java (temurin@8) - id: download-java-temurin-8 - if: matrix.java == 'temurin@8' - uses: typelevel/download-java@v1 - with: - distribution: temurin - java-version: 8 - - - name: Setup Java (temurin@8) - if: matrix.java == 'temurin@8' - uses: actions/setup-java@v2 - with: - distribution: jdkfile - java-version: 8 - jdkFile: ${{ steps.download-java-temurin-8.outputs.jdkFile }} - - name: Download Java (temurin@11) id: download-java-temurin-11 if: matrix.java == 'temurin@11' @@ -237,16 +203,6 @@ jobs: tar xf targets.tar rm targets.tar - - name: Download target directories (2.13.8, rootJVM) - uses: actions/download-artifact@v2 - with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.8-rootJVM - - - name: Inflate target directories (2.13.8, rootJVM) - run: | - tar xf targets.tar - rm targets.tar - - name: Download target directories (3.1.2, rootJVM) uses: actions/download-artifact@v2 with: @@ -277,7 +233,7 @@ jobs: matrix: os: [ubuntu-latest] scala: [2.13.8] - java: [temurin@8] + java: [temurin@11] runs-on: ${{ matrix.os }} steps: - name: Checkout current branch (full) @@ -285,22 +241,6 @@ jobs: with: fetch-depth: 0 - - name: Download Java (temurin@8) - id: download-java-temurin-8 - if: matrix.java == 'temurin@8' - uses: typelevel/download-java@v1 - with: - distribution: temurin - java-version: 8 - - - name: Setup Java (temurin@8) - if: matrix.java == 'temurin@8' - uses: actions/setup-java@v2 - with: - distribution: jdkfile - java-version: 8 - jdkFile: ${{ steps.download-java-temurin-8.outputs.jdkFile }} - - name: Download Java (temurin@11) id: download-java-temurin-11 if: matrix.java == 'temurin@11' diff --git a/build.sbt b/build.sbt index aaf85e0e..caebf1a1 100644 --- a/build.sbt +++ b/build.sbt @@ -16,6 +16,7 @@ ThisBuild / crossScalaVersions := Seq(Scala213, "3.1.2") ThisBuild / scalaVersion := Scala213 // the default Scala // Jetty 10+, for testing, requires Java 11. +ThisBuild / githubWorkflowJavaVersions -= JavaSpec.temurin("8") ThisBuild / tlJdkRelease := Some(8) lazy val root = tlCrossRootProject.aggregate(servlet, examples)