Skip to content

trunk-merge/pr-1213/ef26ca32-d104-435d-a4f5-bca702572469 - #1220

Closed
trunk-io[bot] wants to merge 5 commits into
mainfrom
trunk-merge/pr-1213/ef26ca32-d104-435d-a4f5-bca702572469
Closed

trunk-io[bot] wants to merge 5 commits into
mainfrom
trunk-merge/pr-1213/ef26ca32-d104-435d-a4f5-bca702572469

Conversation

@trunk-io

@trunk-io trunk-io Bot commented Oct 6, 2026

Copy link
Copy Markdown
Trunk Merge Pull Request Banner

This pull request was created and is being managed by Trunk Merge.

This pull request is based on the main branch at SHA 23cdf288185f557a02af3b9132e1ad8879f0b259.

See more details here.

When CI completes, this pull request will be closed automatically.

Pull Requests Being Tested

This pull request is testing the changes from pull request 1213.

dfrankland and others added 5 commits September 30, 2026 17:19
With TRUNK_QUARANTINE_QUERY_FAILURE_EXIT=true, examples after a failed
quarantine lookup are skipped from a before(:example) hook. A plain
`before` is appended, so any before hooks the suite configured before
requiring trunk_spec_helper still ran (DB setup, fixtures, etc.) for an
example that was then skipped. Register it with prepend_before so the
skip happens first.

Hook registration moves into RSpec::Trunk.install(config, run) so it can
be exercised against a sandboxed configuration.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Abort + in-place retries: RSpec starts no new examples once
  wants_to_quit is set, so the abort hook only fired for an example
  re-run in place by rspec-retry, and its skip replaced the failure:
  an always-failing example finished pending and the run exited 0. The
  hook now re-raises the failure that aborted the run.
- --dry-run: every example was recorded as passed and uploaded. The
  listener now records and uploads nothing in a dry run.
- before(:context) errors: each example's failure was quarantined, but
  the group still returned false, failing the run. A group whose
  examples all passed or are pending now reports as passed.
- A quarantined example that failed again in an after hook kept only
  the last error; failures now accumulate in a MultipleExceptionError.
- Start/finish times were truncated to whole seconds. add_test now
  takes f64 epoch seconds and keeps microseconds.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- A group RSpec failed now passes only when Trunk is active and every
  example's failure was quarantined. A green status alone let a crashing
  before(:context) over pending examples (error hidden in
  pending_exception, status :passed) exit 0 where plain RSpec exits 1.
- The abort replays the first failure (the one whose lookup failed), not
  whichever came last, and the replay skips the quarantine lookup.
- Quarantined failures combine within an attempt only; the prepended
  before hook resets them as each attempt starts.
- Comment on the prepended hook no longer claims around hooks are skipped.
- timestamp_from_epoch_secs uses prost_wkt_types' From<DateTime<Utc>>.
- chrono >= 0.4.35, where DateTime::from_timestamp_micros first appears.
- Test harness: FakeReport handles try_save, which CI reaches because it
  sets TRUNK_LOCAL_UPLOAD_DIR; it also counts lookups.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@codecov-commenter

codecov-commenter commented Oct 6, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.08%. Comparing base (23cdf28) to head (f954e0a).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1220      +/-   ##
==========================================
+ Coverage   83.86%   84.08%   +0.22%     
==========================================
  Files          74       74              
  Lines       17884    17888       +4     
==========================================
+ Hits        14998    15041      +43     
+ Misses       2886     2847      -39     

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@trunk-staging-io

trunk-staging-io Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Static Badge   Static Badge   Static Badge

Failed Test Failure Summary Logs
pending_quarantine_test should be quarantined when run with variant A test marked as pending was expected to fail but unexpectedly passed. Logs ↗︎
variant_quarantine_test should be quarantined when run with variant A test expected the sum of 2 + 2 to be 5, but it was actually 4, indicating a failing assertion. Logs ↗︎

View Full Report ↗︎ ⋅ Docs

@trunk-io trunk-io Bot closed this Oct 6, 2026
@trunk-io
trunk-io Bot deleted the trunk-merge/pr-1213/ef26ca32-d104-435d-a4f5-bca702572469 branch October 6, 2026 20:52
@trunk-io

trunk-io Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Author

Static Badge   Static Badge   Static Badge

Failed Test Failure Summary Logs
pending_quarantine_test should be quarantined when run with variant A test marked as pending was expected to fail but unexpectedly passed. Logs ↗︎
variant_quarantine_test should be quarantined when run with variant A test expected the sum of 2 + 2 to be 5, but it was actually 4, indicating a failing assertion. Logs ↗︎

View Full Report ↗︎ ⋅ Docs

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants