ci: make tmux install resilient to third-party apt repo flakiness#18
Merged
Conversation
The "Install tmux" step chained `apt-get update && apt-get install` under a `-e` shell, so a Hash Sum mismatch on an unrelated third-party repo baked into the runner image (e.g. dl.google.com/chrome serving a stale index mid-publish) returned exit 100 and killed the whole job. This is the recurring "flaky" CI failure — it has nothing to do with our tests or the tmux package, which lives in the Ubuntu archive and downloads fine. Make `apt-get update` non-fatal (`|| true`) so unrelated repo hiccups can't fail the build, then assert tmux is actually installed with `tmux -V` so a genuine install failure still fails loudly (rather than silently skipping the ~27 generic_tmux integration tests). Add `Acquire::Retries=3` for transient blips. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughThe CI test job now installs ChangesCI tmux install step
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Problem
The recurring "flaky" CI failure (most recently the #17 / 0.7.4 merge run, job
test (py3.12), exit 100) is not a flaky pytest test — it's the Install tmux step.The step ran
sudo apt-get update && sudo apt-get install -y tmuxunder a-eshell. The job log showsapt-get updatefailing with a Hash Sum mismatch onhttps://dl.google.com/linux/chrome-stable/deb— a third-party repo baked into the GitHub runner image, unrelated to this project (the CDN served a stale index mid-publish). The Ubuntu archive lists fetched fine; only Chrome'sPackages.gzfailed its hash check. Becauseupdateis chained with&&, that unrelated hiccup returned non-zero and killed the whole job. It's intermittent (other matrix legs passed in the same run), which is exactly why it keeps recurring.Fix
apt-get update ... || true— unrelated third-party repo flakiness can no longer fail the build (the Ubuntu lists still refresh, so tmux installs cleanly).tmux -V— safety net: if the swallowedupdateerror ever did prevent install, the job fails on a clear, on-topic line instead of silently skipping the ~27generic_tmuxintegration tests.Acquire::Retries=3— cheap resilience for genuine transient blips on the Ubuntu archive.tmux is not pre-installed on
ubuntu-24.04, so dropping the step was rejected (it would silently drop integration-test coverage).🤖 Generated with Claude Code
Summary by CodeRabbit