Skip to content

fix(deps, ci): bump sbt/setup-sbt to v1.5.14 to restore CI - #9346

Merged
mengw15 merged 1 commit into
apache:mainfrom
eugenegujing:ci/bump-setup-sbt-1.5.14
Nov 6, 2026
Merged

mengw15 merged 1 commit into
apache:mainfrom
eugenegujing:ci/bump-setup-sbt-1.5.14

Conversation

@eugenegujing

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

Nothing can merge into main right now. Every job that sets up sbt (amber, amber-integration, platform ×6, platform-integration ×6, Bench, the image builds and the dependency graph) has died at Setup sbt launcher since 2026-11-05 15:36 UTC, on main itself and on every PR, so Required Checks is red and the merge queue takes nothing. Nothing in this repository changed: main at 312a0cefc (#9325, run at 07:16 UTC) was green, main at 8b0fb168e (#8848, run at 20:54 UTC) is red, and that commit touches three frontend files.

Before: Scala job -> sbt/setup-sbt v1.5.12 -> "Verify the sbt distribution signature" reads carabiner-dev/policies at HEAD -> ampel v1.3.6 cannot parse it -> exit 1 before sbt is installed
After: Scala job -> sbt/setup-sbt v1.5.14 -> the same step reads the policy pinned at carabiner-dev/policies@971d670e9 -> sbt installs -> the job runs

Root cause. v1.5.12 hands carabiner-dev/actions/ampel/verify@32587e8 (ampel v1.3.6) the policy argument git+https://github.com/carabiner-dev/policies#signature/signature.json, with no ref, so the policy is whatever that repository's main holds at run time. On 2026-11-05 signature/signature.json gained a meta.name field that ampel v1.3.6 rejects, and ampel exits while loading the policy with compiling policy: unable to parse a policy, group or policySet from data. The step's fail: false covers a failed verification verdict, not the loader exiting, so the composite action fails and the job stops. sbt/setup-sbt#155, released as v1.5.14 the same day, pins the policy to carabiner-dev/policies@971d670e93f2fb4da304b0e5f071066dc4686a5a, a commit without the field.

Change. All 9 call sites (build.yml ×4, build-and-push-images.yml ×3, benchmarks.yml, dependency-graph.yml) move from ecad189dd245444b9ae0a0cd5922fd938b88906f (v1.5.12) to 67d461eba2c4753196c230e02da850757ba4775e (v1.5.14), as #9100 moved them to v1.5.12. Between the two versions action.yml differs in two lines: the policy pin above and the default sbt-runner-version (2.0.10 -> 2.0.12), which this repository does not use because project/build.properties sets sbt.version. The nested actions, actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 and carabiner-dev/actions/ampel/verify@32587e82f960d49b36101e8c45d1956e511965d3, are the same in both, and no call site passes inputs.

Scope. v1.5.13 is already on the ASF allow list but carries the same unpinned policy line, so it fails the same way; v1.5.14 is the first version that does not. This PR changes nothing about what the signature step does when it runs; it only stops the step from reading a moving target.

Blocked on apache/infrastructure-actions#1498. sbt/setup-sbt@67d461eba is not on the ASF actions allow list yet; #1498 (opened 2026-11-05 13:39 UTC) adds it. Until it merges, every sbt job on this PR fails at Set up job with the action not allowed, which is how v1.5.7 failed in #9100, so the red checks here are expected and this PR must not be merged before #1498 lands. Once it does, a re-run of the failed jobs is the proof; nothing in this branch needs to change.

Any related issues, documentation, discussions?

Closes #9345.

Upstream fix: sbt/setup-sbt#155 (v1.5.14). Allow-list entry: apache/infrastructure-actions#1498. Precedent: #9100 moved the same 9 call sites to v1.5.12 after the ASF allow list dropped the actions v1.5.7 reached, with backports #9132 (v1.3) and #9133 (v1.2); #7710 and #6990 are the earlier bumps of the same kind.

How was this PR tested?

Every changed file parses:

python -I -c "import sys, yaml; [yaml.safe_load(open(f, encoding='utf-8')) for f in sys.argv[1:]]" .github/workflows/build.yml .github/workflows/build-and-push-images.yml .github/workflows/benchmarks.yml .github/workflows/dependency-graph.yml

git ls-remote --tags https://github.com/sbt/setup-sbt.git resolves refs/tags/v1.5.14^{} to 67d461eba2c4753196c230e02da850757ba4775e. Diffing action.yml at ecad189 against 67d461eba shows only the two lines described above, with identical uses: lines. Walking the uses: chain under v1.5.14 reaches ampel/verify@32587e8, which is in apache/infrastructure-actions approved_patterns.yml; sbt/setup-sbt@67d461eba itself is not yet, which apache/infrastructure-actions#1498 adds.

The rest is CI. The labeler applies ci for .github/**, which runs every stack that sets up sbt. Those jobs cannot pass until apache/infrastructure-actions#1498 lands (see above); the re-run after that is the test, and the checks on this PR are the first run of v1.5.14 in this repository.

Was this PR authored or co-authored using generative AI tooling?

Yes. Generated-by: Claude Code (claude-fable-5-1). Co-authored with Claude; the author reviewed the change before submission.

@github-actions github-actions Bot added the ci changes related to CI label Nov 6, 2026
@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Automated Reviewer Suggestions

Based on the git blame history of the changed files, we recommend the following reviewers:

  • Committers with relevant context: @parshimers
    You can request their reviews formally with /request-review @parshimers.

  • Contributors with relevant context: @mengw15, @aglinxinyuan
    You can notify them by mentioning @mengw15, @aglinxinyuan in a comment.

@mengw15 mengw15 added the release/v1.3 back porting to release/v1.3 label Nov 6, 2026
@mengw15

mengw15 commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Please hold off on merging this until apache/infrastructure-actions#1498 lands. v1.5.14 is not on the ASF allow list yet

I added release/v1.3 so this gets backported.

@pjfanning

Copy link
Copy Markdown
Member

Apache Pekko is broken by the same failure: jobs that miss the sbt download cache die in Install sbt with the same compiling policy error, including nightly runs on main. We're also waiting on apache/infrastructure-actions#1498 before we can move to v1.5.14.

This also isn't the first time setup-sbt's signature verification step has broken builds. sbt/setup-sbt#118 (ampel: command not found on a cache miss, July) and sbt/setup-sbt#142 (a carabiner-dev/actions pin that failed to load on a self-hosted runner, September) came from the same step.

v1.5.14 fixes the immediate problem, but we've started a discussion in Pekko about replacing sbt/setup-sbt with a small install step of our own that checks a committed checksum: apache/pekko#3753

Input from Texera would be welcome, as you'd be affected by the same issues. If there's interest, a shared approach might make more sense than each project doing its own.

@mengw15 mengw15 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mengw15
mengw15 enabled auto-merge November 6, 2026 21:10
@mengw15

mengw15 commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Apache Pekko is broken by the same failure: jobs that miss the sbt download cache die in Install sbt with the same compiling policy error, including nightly runs on main. We're also waiting on apache/infrastructure-actions#1498 before we can move to v1.5.14.

This also isn't the first time setup-sbt's signature verification step has broken builds. sbt/setup-sbt#118 (ampel: command not found on a cache miss, July) and sbt/setup-sbt#142 (a carabiner-dev/actions pin that failed to load on a self-hosted runner, September) came from the same step.

v1.5.14 fixes the immediate problem, but we've started a discussion in Pekko about replacing sbt/setup-sbt with a small install step of our own that checks a committed checksum: apache/pekko#3753

Input from Texera would be welcome, as you'd be affected by the same issues. If there's interest, a shared approach might make more sense than each project doing its own.

Thanks for the context, and for helping get apache/infrastructure-actions#1498 through!

We'll take v1.5.14 here to get CI working again, and we're happy to join the discussion.

cc @aglinxinyuan @Yicong-Huang @parshimers

@mengw15 mengw15 closed this Nov 6, 2026
auto-merge was automatically disabled November 6, 2026 21:20

Pull request was closed

@mengw15 mengw15 reopened this Nov 6, 2026
@codecov-commenter

codecov-commenter commented Nov 6, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.87%. Comparing base (bb6136d) to head (41157c0).

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #9346      +/-   ##
============================================
+ Coverage     91.86%   92.87%   +1.01%     
- Complexity     5022     6278    +1256     
============================================
  Files          1277     1313      +36     
  Lines         56170    70896   +14726     
  Branches       7314    10142    +2828     
============================================
+ Hits          51598    65846   +14248     
- Misses         2740     3026     +286     
- Partials       1832     2024     +192     
Flag Coverage Δ
access-control-service 79.55% <ø> (+2.10%) ⬆️
agent-service 99.68% <ø> (+0.14%) ⬆️
amber 87.73% <ø> (+1.80%) ⬆️
computing-unit-managing-service 65.87% <ø> (+1.84%) ⬆️
config-service 87.50% <ø> (-0.12%) ⬇️
file-service 83.20% <ø> (+0.90%) ⬆️
frontend 97.02% <ø> (+0.49%) ⬆️
notebook-migration-service 85.84% <ø> (+2.06%) ⬆️
pyamber 98.44% <ø> (-0.03%) ⬇️
workflow-compiling-service 79.55% <ø> (+1.59%) ⬆️

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

⚠️ Benchmark changes need a look

🟢 4 better · 🔴 5 worse · ⚪ 6 noise (<±5%) · 0 without baseline

Compared against main bb6136d benchmarked on this same runner, so the delta is largely free of cross-runner hardware noise. The "7d avg" column still reflects the gh-pages dashboard. Treat <±5% as noise unless repeated.

Dashboard · Run

config throughput MB/s latency max Δ latest / 7d
🔴 bs=10 sw=10 sl=64 383 0.234 24,194/36,714/36,714 us 🔴 +12.4% / 🔴 +184.9%
🟢 bs=100 sw=10 sl=64 828 0.505 119,031/164,903/164,903 us 🟢 -13.2% / 🔴 +85.4%
🔴 bs=1000 sw=10 sl=64 970 0.592 1,026,151/1,146,778/1,146,778 us 🔴 +6.1% / 🔴 +32.6%
Baseline details

Latest main bb6136d from same runner

config metric PR latest main 7d avg Δ latest Δ 7d
bs=10 sw=10 sl=64 throughput 383 tuples/sec 423 tuples/sec 953.99 tuples/sec -9.5% -59.9%
bs=10 sw=10 sl=64 MB/s 0.234 MB/s 0.258 MB/s 0.582 MB/s -9.3% -59.8%
bs=10 sw=10 sl=64 p50 24,194 us 21,533 us 10,584 us +12.4% +128.6%
bs=10 sw=10 sl=64 p95 36,714 us 36,837 us 12,888 us -0.3% +184.9%
bs=10 sw=10 sl=64 p99 36,714 us 36,837 us 16,266 us -0.3% +125.7%
bs=100 sw=10 sl=64 throughput 828 tuples/sec 782 tuples/sec 1,242 tuples/sec +5.9% -33.4%
bs=100 sw=10 sl=64 MB/s 0.505 MB/s 0.478 MB/s 0.758 MB/s +5.6% -33.4%
bs=100 sw=10 sl=64 p50 119,031 us 115,322 us 83,370 us +3.2% +42.8%
bs=100 sw=10 sl=64 p95 164,903 us 189,959 us 88,966 us -13.2% +85.4%
bs=100 sw=10 sl=64 p99 164,903 us 189,959 us 101,186 us -13.2% +63.0%
bs=1000 sw=10 sl=64 throughput 970 tuples/sec 975 tuples/sec 1,276 tuples/sec -0.5% -24.0%
bs=1000 sw=10 sl=64 MB/s 0.592 MB/s 0.595 MB/s 0.779 MB/s -0.5% -24.0%
bs=1000 sw=10 sl=64 p50 1,026,151 us 1,025,241 us 815,662 us +0.1% +25.8%
bs=1000 sw=10 sl=64 p95 1,146,778 us 1,081,043 us 864,800 us +6.1% +32.6%
bs=1000 sw=10 sl=64 p99 1,146,778 us 1,081,043 us 896,884 us +6.1% +27.9%
Raw CSV
config_idx,batch_size,schema_width,string_len,num_batches,total_ms,total_tuples,total_bytes,tuples_per_sec,mb_per_sec,lat_p50_us,lat_p95_us,lat_p99_us
0,10,10,64,20,521.93,200,128000,383,0.234,24194.06,36714.24,36714.24
1,100,10,64,20,2415.08,2000,1280000,828,0.505,119031.00,164902.99,164902.99
2,1000,10,64,20,20610.35,20000,12800000,970,0.592,1026150.89,1146777.71,1146777.71

@parshimers

Copy link
Copy Markdown
Member

Thanks, PJ. I think having a shared approach might work. Indeed having the action break even though nothing changed on our side is extremely annoying, but also concerning from a security standpoint.

Is the idea to basically have an action that better fits the usage of sbt between Pekko and Texera? Something similar to the action you proposed in the Pekko PR, that gets sbt with curl? And, if it was an action in a separate repo, then it could cache like the current action or the coursier action, but be simpler overall?

@mengw15
mengw15 enabled auto-merge November 6, 2026 22:01
@mengw15
mengw15 added this pull request to the merge queue Nov 6, 2026
Merged via the queue into apache:main with commit c6a4645 Nov 6, 2026
154 of 162 checks passed
@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Backport PR opened: #9355 (#9355) to release/v1.3 — the cherry-pick was clean, so it is ready for review, waiting on @mengw15. It needs to be reopened once to start its checks; the PR says how.

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

Labels

ci changes related to CI release/v1.3 back porting to release/v1.3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: every job that sets up sbt fails at "Setup sbt launcher" since 2026-11-05, so Required Checks is red on main and on every PR

5 participants