Add non-blocking downstream regression check (made/mcodec/alpaca) - #52
Merged
Conversation
Publishes commons from the branch locally, then chains made -> mcodec -> alpaca against that build (each pointed at the previous local artifact) and compiles them. continue-on-error at the job level keeps this from blocking merges while still surfacing failures clearly in the job log. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGvoRoSbVSPgxCTBF26U28
scala-cli's default 30s wait for the Bloop compilation server to come up flaked twice on a cold GH Actions runner with a bare TimeoutException (unrelated to the actual compile/publish work). Pass --bloop-startup-timeout 2min on every scala-cli invocation in the job. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FGvoRoSbVSPgxCTBF26U28
--bloop-startup-timeout only extends the initial server spawn wait. bloop-rifle's ensureBloopRunning then re-verifies the server with a `bloop about` call whose timeout is hardcoded to 30s + extraTimeout (BloopRifleConfig.extraTimeout), which that flag never reaches - so the check kept timing out on cold runners even after the previous fix. extraTimeout is only configurable via SCALA_CLI_EXTRA_TIMEOUT, so set it to give that verification call more room too. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
mcodec dropped scala-cli/project.scala for a Mill build (build.mill) and now depends on commons directly, not just transitively via made - the check still assumed the old layout and failed at the version-pin sed step (project.scala no longer exists). Patch build.mill's made and commons pins instead, and compile/publish via ./mill jvm.compile / jvm.publishLocal (mirroring alpaca's Mill-based steps), reusing mcodec's MCODEC_BENCH_VERSION publishVersion override hook to pin the local-Ivy version. Verified locally: publish-local commons -> compile/publish-local made -> compile/publish-local mcodec against build.mill's own Mill launcher, all succeeding against this branch's commons build. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
commons/made/mcodec are only ever published to the local Ivy repo for the jvm platform in this check, but alpaca's `./mill __.test` builds every platform (jvm/js/native) and failed resolving made/mcodec's js and native artifacts (never published locally, and 0.0.0-regression obviously isn't on Maven Central either). Scope it to `jvm.test` to match what's actually available. Verified locally: full commons -> made -> mcodec -> alpaca chain, publishing each locally at 0.0.0-regression, ./mill jvm.test passes (73 tests). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Publishes commons from the branch locally, then chains made -> mcodec -> alpaca against that build (each pointed at the previous local artifact) and compiles them. continue-on-error at the job level keeps this from blocking merges while still surfacing failures clearly in the job log.
Claude-Session: https://claude.ai/code/session_01FGvoRoSbVSPgxCTBF26U28
Description
Checklist
scalafmtrun (or equivalent formatter for this repo)