The GitHub Actions job "Validate and test" on pekko-grpc.git/assembly-license-notice-1.3 has failed. Run started by GitHub user pjfanning (triggered by pjfanning).
Head commit for run: b53368ce0802be16ac500bce09ab2110182ac889 / PJ Fanning <[email protected]> Ship a complete LICENSE and NOTICE in the assembly jars (1.3.x) Motivation: pekko-grpc-codegen and pekko-grpc-scalapb-protoc-plugin publish assembly jars and bat archives that bundle classes from 3rd party projects, so their META-INF/LICENSE and META-INF/NOTICE have to account for those projects. legal/AssemblyLicense.txt and legal/AssemblyNotice.txt exist for that, but: - The codegen assembly merged META-INF/LICENSE with MergeStrategy.concat, so the jar and bat shipped legal/AssemblyLicense.txt with a dependency's plain Apache 2.0 text appended to it rather than the curated file. - legal/AssemblyLicense.txt had drifted from what is actually bundled. It listed org.checkerframework:checker-qual, which guava dropped in favour of org.jspecify:jspecify, and jspecify was not listed anywhere. - scalapb-protoc-plugin let compilerplugin resolve protobuf-java transitively, rather than pinning it the way codegen and runtime do. Nothing failed the build when the legal files fell behind a dependency change. Modification: Merge META-INF/LICENSE and META-INF/NOTICE with MergeStrategy.preferProject in both assemblies, so our own files win over the ones the dependencies bring in. Swap checker-qual for jspecify in legal/AssemblyLicense.txt and drop the MIT text that was only there for checker-qual. Pin protobuf-java in scalapb-protoc-plugin via a new Dependencies group, the same way codegen and runtime already do. No version was changed; this branch stays on protobuf-java 3.25.9. Add project/AssemblyLicenseCheck.scala with two tasks, wired into both assembly projects and run in CI as the checkAssemblyLicenses alias: - assemblyLicenseCheck fails when a module on the assembly classpath is not named in the assembly LICENSE file, and warns about listed modules that are not bundled for the Scala version being built. - assemblyMetaInfCheck opens the published assembly jar and bat archive and fails unless each carries META-INF/LICENSE and META-INF/NOTICE matching the files in legal/. This is the 1.3.x port of apache/pekko-grpc#865. Result: Both assembly jars and both bat archives ship the curated LICENSE and NOTICE covering the 3rd party classes they bundle, and CI fails if a dependency change leaves the legal files behind. Tests: - sbt checkAssemblyLicenses - passed on Scala 2.12. assemblyLicenseCheck failed before the AssemblyLicense.txt fix, reporting that org.jspecify:jspecify was not accounted for. - sbt scalafmtSbtCheck - passed. References: Refs #865 Report URL: https://github.com/apache/pekko-grpc/actions/runs/33264151387 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
