Repository navigation
fix(ci): ride out transient network flakes instead of failing the run - #27
Merged
Merged
Conversation
## Summary The last three red CI runs on dash were all infrastructure, not code: - rubygems.org SSL reset during bundle install (rails_edge, Ruby 4.0) - bundler exit 17. Every matrix job resolves from scratch because Gemfile.lock is removed, so one blip kills the job. Give bundler BUNDLE_RETRY=6 headroom. - Docker Hub i/o timeouts during `docker compose build` failed every MainTest in a run: build_images_once had no retry (unlike compose_up_with_retry right above it) and $IMAGES_BUILT never got set, so each test re-hit the outage. Retry the build up to 3 times with 15s/30s backoff. - The always() disk-usage step ran `du /mnt/docker` even when the Docker configure step was skipped, adding a second, misleading red step to every early failure. Guard on the directory existing. ## Verification - [x] ruby -c and rubocop clean on the harness change - [x] ci.yml edits are env + shell-guard only; actionlint/zizmor run in CI
This was referenced Jul 28, 2026
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.
Summary
The three red CI runs on
dash(merges of #22, #23, #24) were all infrastructure, none were test regressions:bundleexit 17 in Install Ruby (rails_edge, Ruby 4.0)Gemfile.lockis removedMainTestfailed atdocker compose builddial tcp i/o timeoutpulling base images;build_images_oncehad no retry, so each test re-hit the outageconclusion: nullChanges:
test/integration/integration_test.rb—build_images_onceretriesdocker compose buildup to 3 attempts with 15s/30s backoff, matching thecompose_up_with_retryidiom right above it.github/workflows/ci.yml—BUNDLE_RETRY: "6"on the tests job; guard thealways()disk-usage step sodu /mnt/dockerno longer paints a second misleading failure when an earlier step is what actually failedTest plan
Deviations & judgment calls
dash, notmain— deliberate exception to the feature-branch rule: all touched files are fork-owned and heavily diverged from upstream (ci.ymlmatrix, integration harness), so amain-rooted branch would be pure conflict noise and this change is not upstream-PR-able anyway.conclusion: nullrun — that's a GitHub runner death; no repo-side change can prevent it.