• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / etl / 29487305594
74%

Build:
DEFAULT BRANCH: main
Ran 16 Jul 2026 09:42AM UTC
Jobs 1
Files 262
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 Jul 2026 09:29AM UTC coverage: 73.445% (+0.06%) from 73.39%
29487305594

push

github

web-flow
chaos(etl): Cover shutdown drain and apply disconnect with held write responses (#906)

* test(etl): Prove shutdown drains pending write_events first

Hold a streaming write_events response, shut the pipeline down, and
assert shutdown neither completes nor reaches Destination::shutdown
while the response is withheld. Releasing the hold completes shutdown
with the write acknowledged.

* test(etl): Cover apply disconnect with a held write_events response

Kill the apply walsender while a write response is withheld, releasing
it after reconnect in one variant and before in the other. Both assert
no loss and bounded replay by comparing recorded commit LSNs, and the
after-reconnect variant asserts confirmed_flush_lsn never passed the
unacknowledged write.

* test(etl): Share replication slot helpers across pipeline tests

Move the replication slot state query and the wait-for-new-walsender
poll into test_utils::database instead of keeping per-file copies in
pipeline.rs and pipeline_with_faulty_destination.rs. The reconnect wait
now uses the shared DEFAULT_NOTIFY_TIMEOUT instead of ad-hoc 10s/30s
timeouts.

* test(etl): Reuse wait_for_all_events for insert count waits

The disconnect tests waited on hand-rolled notify_on_events closures
that count inserts per table, which the wrapper already supports via
wait_for_all_events with EventCondition::Table. Drop the local
count_table_inserts helper; the LSN-based waits still need custom
closures and stay as they are.

* test(etl): Report premature shutdown result in drain test

The drain test asserted a bare boolean when shutdown finished too
early, discarding the join and shutdown results. Panic with the actual
result instead so an early completion explains itself.

* test(etl): Avoid bare index when reading the first commit LSN

Use first().expect() with a message instead of [0] so a failure names
the missing invariant rather than panicking on an index.

22 of 22 new or added lines in 1 file covered. (100.0%)

17 existing lines in 2 files now uncovered.

42487 of 57849 relevant lines covered (73.44%)

1483.03 hits per line

Coverage Regressions

Lines Coverage ∆ File
15
83.3
0.6% crates/etl/src/replication/apply.rs
2
40.75
0.0% crates/etl-maintenance/src/ducklake/runner.rs
Jobs
ID Job ID Ran Files Coverage
1 29487305594.1 16 Jul 2026 09:42AM UTC 262
73.44
GitHub Action Run
Source Files on build 29487305594
  • Tree
  • List 262
  • Changed 8
  • Source Changed 1
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29487305594
  • 8629ae6d on github
  • Prev Build on main (#29486274989)
  • Next Build on main (#29491057530)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc