Skip to content

Commit

Permalink
Merge branch 'series/3.x' into release/3.5.1-minor
Browse files Browse the repository at this point in the history
  • Loading branch information
armanbilge authored Jun 25, 2023
2 parents 5e6c6c8 + f0c60ca commit 3cea614
Show file tree
Hide file tree
Showing 50 changed files with 2,049 additions and 349 deletions.
117 changes: 59 additions & 58 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,34 +28,38 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
scala: [3.2.2, 2.12.17, 2.13.10]
scala: [3.3.0, 2.12.18, 2.13.11]
java: [temurin@8, temurin@11, temurin@17, graalvm@11]
ci: [ciJVM, ciNative, ciJS, ciFirefox, ciChrome]
exclude:
- scala: 3.2.2
- scala: 3.3.0
java: temurin@11
- scala: 2.12.17
- scala: 2.12.18
java: temurin@11
- scala: 2.12.17
- scala: 2.12.18
java: temurin@17
- scala: 2.12.17
- scala: 2.12.18
java: graalvm@11
- os: windows-latest
scala: 3.2.2
scala: 3.3.0
ci: ciJVM
- os: macos-latest
scala: 3.2.2
scala: 3.3.0
ci: ciJVM
- os: windows-latest
scala: 2.12.17
scala: 2.12.18
ci: ciJVM
- os: macos-latest
scala: 2.12.17
scala: 2.12.18
ci: ciJVM
- ci: ciFirefox
scala: 3.2.2
scala: 3.3.0
- ci: ciChrome
scala: 3.2.2
scala: 3.3.0
- ci: ciFirefox
scala: 2.12.17
scala: 2.12.18
- ci: ciChrome
scala: 2.12.17
scala: 2.12.18
- ci: ciJS
java: temurin@11
- ci: ciJS
Expand Down Expand Up @@ -96,10 +100,7 @@ jobs:
ci: ciNative
- os: macos-latest
ci: ciNative
scala: 2.12.17
- os: macos-latest
ci: ciNative
scala: 3.2.2
scala: 2.12.18
- os: windows-latest
java: graalvm@11
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -236,24 +237,24 @@ jobs:
run: sbt githubWorkflowCheck

- name: Check that scalafix has been run on JVM
if: matrix.ci == 'ciJVM' && matrix.scala != '3.2.2' && matrix.java == 'temurin@8' && matrix.os == 'ubuntu-latest'
if: matrix.ci == 'ciJVM' && matrix.scala != '3.3.0' && matrix.java == 'temurin@8' && matrix.os == 'ubuntu-latest'
shell: bash
run: sbt '++ ${{ matrix.scala }}' 'rootJVM/scalafixAll --check'

- name: Check that scalafix has been run on JS
if: matrix.ci == 'ciJS' && matrix.scala != '3.2.2' && matrix.java == 'temurin@8' && matrix.os == 'ubuntu-latest'
if: matrix.ci == 'ciJS' && matrix.scala != '3.3.0' && matrix.java == 'temurin@8' && matrix.os == 'ubuntu-latest'
shell: bash
run: sbt '++ ${{ matrix.scala }}' 'rootJS/scalafixAll --check'

- name: Check that scalafix has been run on Native
if: matrix.ci == 'ciNative' && matrix.scala != '3.2.2' && matrix.java == 'temurin@8' && matrix.os == 'ubuntu-latest'
if: matrix.ci == 'ciNative' && matrix.scala != '3.3.0' && matrix.java == 'temurin@8' && matrix.os == 'ubuntu-latest'
shell: bash
run: sbt '++ ${{ matrix.scala }}' 'rootNative/scalafixAll --check'

- shell: bash
run: sbt '++ ${{ matrix.scala }}' '${{ matrix.ci }}'

- if: (matrix.scala == '2.13.10' || matrix.scala == '3.2.2') && matrix.ci == 'ciJVM'
- if: (matrix.scala == '2.13.11' || matrix.scala == '3.3.0') && matrix.ci == 'ciJVM'
shell: bash
run: sbt '++ ${{ matrix.scala }}' docs/mdoc

Expand All @@ -268,7 +269,7 @@ jobs:
run: example/test-js.sh ${{ matrix.scala }}

- name: Test GraalVM Native Image
if: matrix.scala == '2.13.10' && matrix.java == 'graalvm@11' && matrix.os == 'ubuntu-latest'
if: matrix.scala == '2.13.11' && matrix.java == 'graalvm@11' && matrix.os == 'ubuntu-latest'
shell: bash
run: sbt '++ ${{ matrix.scala }}' graalVMExample/nativeImage graalVMExample/nativeImageRun

Expand All @@ -278,7 +279,7 @@ jobs:
run: example/test-native.sh ${{ matrix.scala }}

- name: Scalafix tests
if: matrix.scala == '2.13.10' && matrix.ci == 'ciJVM' && matrix.os == 'ubuntu-latest'
if: matrix.scala == '2.13.11' && matrix.ci == 'ciJVM' && matrix.os == 'ubuntu-latest'
shell: bash
run: |
cd scalafix
Expand Down Expand Up @@ -308,7 +309,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
scala: [2.13.10]
scala: [2.13.11]
java: [temurin@8]
runs-on: ${{ matrix.os }}
steps:
Expand Down Expand Up @@ -409,112 +410,112 @@ jobs:
if: matrix.java == 'graalvm@11' && steps.setup-java-graalvm-11.outputs.cache-hit == 'false'
run: sbt '++ ${{ matrix.scala }}' reload +update

- name: Download target directories (3.2.2, ciJVM)
- name: Download target directories (3.3.0, ciJVM)
uses: actions/download-artifact@v3
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-3.2.2-ciJVM
name: target-${{ matrix.os }}-${{ matrix.java }}-3.3.0-ciJVM

- name: Inflate target directories (3.2.2, ciJVM)
- name: Inflate target directories (3.3.0, ciJVM)
run: |
tar xf targets.tar
rm targets.tar
- name: Download target directories (3.2.2, ciNative)
- name: Download target directories (3.3.0, ciNative)
uses: actions/download-artifact@v3
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-3.2.2-ciNative
name: target-${{ matrix.os }}-${{ matrix.java }}-3.3.0-ciNative

- name: Inflate target directories (3.2.2, ciNative)
- name: Inflate target directories (3.3.0, ciNative)
run: |
tar xf targets.tar
rm targets.tar
- name: Download target directories (3.2.2, ciJS)
- name: Download target directories (3.3.0, ciJS)
uses: actions/download-artifact@v3
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-3.2.2-ciJS
name: target-${{ matrix.os }}-${{ matrix.java }}-3.3.0-ciJS

- name: Inflate target directories (3.2.2, ciJS)
- name: Inflate target directories (3.3.0, ciJS)
run: |
tar xf targets.tar
rm targets.tar
- name: Download target directories (2.12.17, ciJVM)
- name: Download target directories (2.12.18, ciJVM)
uses: actions/download-artifact@v3
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.17-ciJVM
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.18-ciJVM

- name: Inflate target directories (2.12.17, ciJVM)
- name: Inflate target directories (2.12.18, ciJVM)
run: |
tar xf targets.tar
rm targets.tar
- name: Download target directories (2.12.17, ciNative)
- name: Download target directories (2.12.18, ciNative)
uses: actions/download-artifact@v3
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.17-ciNative
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.18-ciNative

- name: Inflate target directories (2.12.17, ciNative)
- name: Inflate target directories (2.12.18, ciNative)
run: |
tar xf targets.tar
rm targets.tar
- name: Download target directories (2.12.17, ciJS)
- name: Download target directories (2.12.18, ciJS)
uses: actions/download-artifact@v3
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.17-ciJS
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.18-ciJS

- name: Inflate target directories (2.12.17, ciJS)
- name: Inflate target directories (2.12.18, ciJS)
run: |
tar xf targets.tar
rm targets.tar
- name: Download target directories (2.13.10, ciJVM)
- name: Download target directories (2.13.11, ciJVM)
uses: actions/download-artifact@v3
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.10-ciJVM
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.11-ciJVM

- name: Inflate target directories (2.13.10, ciJVM)
- name: Inflate target directories (2.13.11, ciJVM)
run: |
tar xf targets.tar
rm targets.tar
- name: Download target directories (2.13.10, ciNative)
- name: Download target directories (2.13.11, ciNative)
uses: actions/download-artifact@v3
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.10-ciNative
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.11-ciNative

- name: Inflate target directories (2.13.10, ciNative)
- name: Inflate target directories (2.13.11, ciNative)
run: |
tar xf targets.tar
rm targets.tar
- name: Download target directories (2.13.10, ciJS)
- name: Download target directories (2.13.11, ciJS)
uses: actions/download-artifact@v3
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.10-ciJS
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.11-ciJS

- name: Inflate target directories (2.13.10, ciJS)
- name: Inflate target directories (2.13.11, ciJS)
run: |
tar xf targets.tar
rm targets.tar
- name: Download target directories (2.13.10, ciFirefox)
- name: Download target directories (2.13.11, ciFirefox)
uses: actions/download-artifact@v3
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.10-ciFirefox
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.11-ciFirefox

- name: Inflate target directories (2.13.10, ciFirefox)
- name: Inflate target directories (2.13.11, ciFirefox)
run: |
tar xf targets.tar
rm targets.tar
- name: Download target directories (2.13.10, ciChrome)
- name: Download target directories (2.13.11, ciChrome)
uses: actions/download-artifact@v3
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.10-ciChrome
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.11-ciChrome

- name: Inflate target directories (2.13.10, ciChrome)
- name: Inflate target directories (2.13.11, ciChrome)
run: |
tar xf targets.tar
rm targets.tar
Expand Down Expand Up @@ -552,7 +553,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
scala: [2.13.10]
scala: [2.13.11]
java: [temurin@8]
runs-on: ${{ matrix.os }}
steps:
Expand Down
17 changes: 15 additions & 2 deletions .mergify.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,23 @@
pull_request_rules:
- name: label scala-steward's PRs
- name: label typelevel-steward's PRs
conditions:
- author=scala-steward
- author=typelevel-steward[bot]
actions:
label:
add: [':robot:']
- name: label typelevel-steward's update PRs
conditions:
- author=typelevel-steward[bot]
- body~=labels:.*library-update
actions:
label:
add: [dependencies]
- name: label dependabots's PRs
conditions:
- author=dependabot[bot]
actions:
label:
add: [':robot:']
- name: automatically merge dependabot docs PRs
conditions:
- author=dependabot[bot]
Expand Down
2 changes: 1 addition & 1 deletion .scalafmt.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version = 3.7.3
version = 3.7.4

runner.dialect = Scala213Source3
fileOverride {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,12 +165,13 @@ class WorkStealingBenchmark {
(ExecutionContext.fromExecutor(executor), () => executor.shutdown())
}

val compute = new WorkStealingThreadPool(
val compute = new WorkStealingThreadPool[AnyRef](
256,
"io-compute",
"io-blocker",
60.seconds,
false,
SleepSystem,
_.printStackTrace())

val cancelationCheckThreshold =
Expand Down
29 changes: 19 additions & 10 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ ThisBuild / git.gitUncommittedChanges := {
}
}

ThisBuild / tlBaseVersion := "3.5"
ThisBuild / tlBaseVersion := "3.6"
ThisBuild / tlUntaggedAreSnapshots := false

ThisBuild / organization := "org.typelevel"
Expand Down Expand Up @@ -112,9 +112,9 @@ val PrimaryOS = "ubuntu-latest"
val Windows = "windows-latest"
val MacOS = "macos-latest"

val Scala212 = "2.12.17"
val Scala213 = "2.13.10"
val Scala3 = "3.2.2"
val Scala212 = "2.12.18"
val Scala213 = "2.13.11"
val Scala3 = "3.3.0"

ThisBuild / crossScalaVersions := Seq(Scala3, Scala212, Scala213)
ThisBuild / githubWorkflowScalaVersions := crossScalaVersions.value
Expand Down Expand Up @@ -227,8 +227,8 @@ ThisBuild / githubWorkflowBuildMatrixExclusions := {
val windowsAndMacScalaFilters =
(ThisBuild / githubWorkflowScalaVersions).value.filterNot(Set(Scala213)).flatMap { scala =>
Seq(
MatrixExclude(Map("os" -> Windows, "scala" -> scala)),
MatrixExclude(Map("os" -> MacOS, "scala" -> scala)))
MatrixExclude(Map("os" -> Windows, "scala" -> scala, "ci" -> CI.JVM.command)),
MatrixExclude(Map("os" -> MacOS, "scala" -> scala, "ci" -> CI.JVM.command)))
}

val jsScalaFilters = for {
Expand Down Expand Up @@ -257,9 +257,7 @@ ThisBuild / githubWorkflowBuildMatrixExclusions := {

javaFilters ++ Seq(
MatrixExclude(Map("os" -> Windows, "ci" -> ci)),
MatrixExclude(Map("os" -> MacOS, "ci" -> ci, "scala" -> Scala212)),
// keep a native+2.13+macos job
MatrixExclude(Map("os" -> MacOS, "ci" -> ci, "scala" -> Scala3))
MatrixExclude(Map("os" -> MacOS, "ci" -> ci, "scala" -> Scala212))
)
}

Expand Down Expand Up @@ -643,7 +641,10 @@ lazy val core = crossProject(JSPlatform, JVMPlatform, NativePlatform)
"cats.effect.IOFiberConstants.ExecuteRunnableR"),
ProblemFilters.exclude[ReversedMissingMethodProblem]("cats.effect.IOLocal.scope"),
ProblemFilters.exclude[DirectMissingMethodProblem](
"cats.effect.IOFiberConstants.ContStateResult")
"cats.effect.IOFiberConstants.ContStateResult"),
// introduced by #3332, polling system
ProblemFilters.exclude[DirectMissingMethodProblem](
"cats.effect.unsafe.IORuntimeBuilder.this")
) ++ {
if (tlIsScala3.value) {
// Scala 3 specific exclusions
Expand Down Expand Up @@ -830,6 +831,14 @@ lazy val core = crossProject(JSPlatform, JVMPlatform, NativePlatform)
} else Seq()
}
)
.nativeSettings(
mimaBinaryIssueFilters ++= Seq(
ProblemFilters.exclude[MissingClassProblem](
"cats.effect.unsafe.PollingExecutorScheduler$SleepTask"),
ProblemFilters.exclude[MissingClassProblem]("cats.effect.unsafe.QueueExecutorScheduler"),
ProblemFilters.exclude[MissingClassProblem]("cats.effect.unsafe.QueueExecutorScheduler$")
)
)
.disablePlugins(JCStressPlugin)

/**
Expand Down
Loading

0 comments on commit 3cea614

Please sign in to comment.