Skip to content

Fix CI: scalafmt + made version mismatch - #5

Closed
halotukozak wants to merge 6 commits into
mainfrom
fix-project-scala-fmt
Closed

Fix CI: scalafmt + made version mismatch#5
halotukozak wants to merge 6 commits into
mainfrom
fix-project-scala-fmt

Conversation

@halotukozak

@halotukozak halotukozak commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Three independent, pre-existing CI breakages, all unrelated to any feature work in #3/#4/#6:

  1. scala-cli fmt --check was failing on project.scala (extra blank line before -Yprofile-enabled).
  2. project.scala requested made:0.2.1-SNAPSHOT while ci.yml published the pinned made commit locally as made:0.1.3-done-SNAPSHOT — mismatched labels, nothing resolved.
  3. Root cause of the real compile failures: after fixing (2) to a matching label, CI still failed to compile — but not because published made:0.3.0 is API-incompatible. ci.yml's pinned commit SHA (16bfbdb) is 37 commits behind the v0.3.0 tag, missing getAllAnnotations entirely, the containsOnly evidence for Tuple.Tail/Reverse/Concat/Zip that mrpc's recursive tuple-walking macros depend on, and InputElem.ExtractLabel. Bumped the pin to v0.3.0 (a61445c) — purely additive on the made side, nothing removed/renamed.
  4. One real mrpc-side fix: getAllAnnotations is an extension method (self.getAllAnnotations[A]) in the version mrpc now targets, not a positional function call — MetadataDerivation.allTerms used the old calling convention.

Test plan

  • CI green end to end (formatting + made/mcodec local publish + tests)

🤖 Generated with Claude Code

@halotukozak halotukozak changed the title Fix scalafmt: drop extra blank line in project.scala Fix CI: scalafmt + made version mismatch Aug 8, 2026
halotukozak and others added 5 commits August 9, 2026 11:05
scala-cli fmt --check has been failing on master since before this session
(reproduces on commit d5a59ce) — one blank line too many before the
-Yprofile-enabled directive.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…T vs 0.1.3-done-SNAPSHOT)

project.scala requested made:0.2.1-SNAPSHOT while ci.yml published the
pinned made commit locally as 0.1.3-done-SNAPSHOT - neither resolved to
the other, so CI's "Run tests" step failed on every commit regardless of
content. Aligning both on 0.3.0 per the repo owner's direction.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ntax

Root cause of the "Run tests" failures wasn't a version mismatch (made
0.3.0's real API still has everything mrpc needs) - it was that ci.yml
pinned a made commit (16bfbdb) 37 commits behind v0.3.0, missing:
  - getAllAnnotations entirely (added in c5a98e5/d361b36)
  - containsOnly evidence for Tuple.Tail/Reverse/Concat/Zip (ad6f7a4/713d57a),
    which mrpc's recursive tuple-walking macros (RpcNames, OpPlan,
    MetadataDerivation, Plans) depend on to chain containsOnly evidence
    across `.tail` calls
  - InputElem.ExtractLabel (24800ec)

Bumping the pin to v0.3.0 (a61445c) picks up all three, purely additive
per the made-side diff (no removed/renamed members between the two).

The one real mrpc-side fix: made's getAllAnnotations is an extension
method (`self.getAllAnnotations[A]`), not a positional function
(`getAllAnnotations(self)(using ...)[A]`) - MetadataDerivation.allTerms
was calling it the old way.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
mcodec's old pinned commit predates made's getAnnotation Option[A] -> A |
Null change (same root cause as the made pin bump in the previous commit).
Repointing to the fix branch until halotukozak-com/mcodec#4 merges.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Root cause of this PR's hanging 'Run tests' CI step: thread-dumped the
stuck Bloop/dotc process and found the compiler thread pinned at 100%
CPU for 10+ minutes inside
dotty.tools.dotc.transform.init.Semantic$$anon$1.traverse, recursing
through TypeAccumulator.foldOver -- the -Wsafe-init checker walking a
type graph it never finishes on this codebase's inline-derivation-heavy
code. Verified: with it removed, compile+test-compile finishes in ~25s.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@halotukozak
halotukozak force-pushed the fix-project-scala-fmt branch from d41b9ca to 8aa52bc Compare August 9, 2026 09:05
GoldenFixtureSuite reads fixtures/*.json via a path relative to the
process working directory. CI's other steps run from the outer checkout
root (mrpc/made/mcodec are sibling directories there), so the bare
`scala-cli --power test mrpc` command left the fixture lookup resolving
against the wrong directory, failing 5 tests with FileNotFoundException.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@halotukozak

Copy link
Copy Markdown
Collaborator Author

Closing in favor of #12 (fmt fix) + #16 (-Wsafe-init hang fix, which I cherry-picked the made/mcodec version-pin fixes and the GoldenFixtureSuite working-directory fix onto as well). Avoids duplicate overlapping work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant