The GitHub Actions job "Link Validator" on pekko-grpc.git/main has failed. Run started by GitHub user pjfanning (triggered by pjfanning).
Head commit for run: 922fbb536b8cb3a8dcbbb1af5f1cad6786b595d2 / Scala Steward <[email protected]> Update scala-library to 3.9.0 (#881) * Update scala-library to 3.9.0 * fix * Drop stray $ from PekkoHttpServerProviderJava test object name Motivation: Scala 3.9.0 added syntax warning E230, which flags identifiers containing `$` as reserved for internal compiler use. The interop-tests test sources are compiled with `-Werror`, so `object PekkoHttpServerProviderJava$` turns that warning into a build failure. The trailing `$` is not intentional. It is a leftover from the Akka to Pekko rename in 7ad0b5d6; the equivalent object in the sbt scripted test copy of this spec is named `PekkoHttpServerProviderJava` with no `$`. Modification: Rename the object to `PekkoHttpServerProviderJava` and update its single reference in `Servers.Pekko.Java`. Result: interop-tests test sources compile under Scala 3.9.0 with `-Werror`. Tests: - sbt -batch "++3.9.0!" Test/compile - success References: Refs #883 * Keep the sbt 2.x plugin on the Scala version sbt itself is built with Motivation: Bumping scala3Next to 3.9.0 broke the `sbt scripted tests (scala3, next)` job. scala3Next was doing two unrelated jobs at once: it is the newest Scala 3 release the library is compiled and tested against, and it is also the Scala version the sbt 2.x plugin is cross-built with. The second is not ours to choose. sbt uses its own Scala compiler to compile build.sbt, and every sbt 2.x release to date, up to and including 2.0.8, depends on scala3-library_3 3.8.4. A plugin built with 3.9.0 emits TASTy 28.9, which that compiler cannot read, so loading any build that uses the plugin fails: value autoImport is not a member of object org.apache.pekko.grpc.sbt.PekkoGrpcPlugin error while loading IArray$package, TASTy file scala/IArray$package.tasty could not be read, failing with: Forward incompatible TASTy file has version 28.9, produced by Scala 3.9.0-bin-nonbootstrapped, expected stable TASTy from 28.0 to 28.8. Modification: Split the two roles apart. Add Versions.scala3ForSbtPlugin, pinned to the Scala version sbt 2.x is built with, and use it in CrossScalaForSbtPlugin. scala3Next stays free to track the newest Scala 3 release. Add a `sbt-plugin-scala3` case to resolve-scala-version.sh and point the `scala3` scripted matrix entry at it, so the scripted job builds the plugin with a version sbt can load. The scripted test projects still receive scala3Next through -Dpekko.grpc.scala3.next.version, so their generated sources are still compiled with the newest Scala 3 - which is the part of that job worth testing. Publishing is unaffected: `+publish` picks up the cross version from CrossScalaForSbtPlugin. Result: The sbt plugin is loadable by sbt 2.x again, and scala3Next can be bumped independently of sbt's release cadence. Tests: - sbt -batch "++3.9.0!" Test/compile - success - bash .github/scripts/resolve-scala-version.sh sbt-plugin-scala3 - 3.8.4 - bash .github/scripts/resolve-scala-version.sh next - 3.9.0 - sbt "sbt-plugin/scripted scala3/*" - not run locally, relying on CI References: Refs #881 --------- Co-authored-by: PJ Fanning <[email protected]> Report URL: https://github.com/apache/pekko-grpc/actions/runs/34090832323 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
