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

thanos / kathikon / 461b7cf58c62cb4318e3f18453beb2d8dd4a4cc0-PR-30
93%
main: 89%

Build:
Build:
LAST BUILD BRANCH: v0.2.1/dashboard
DEFAULT BRANCH: main
Ran 23 Jun 2026 05:06PM UTC
Jobs 1
Files 28
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

23 Jun 2026 05:05PM UTC coverage: 93.333%. First build
461b7cf58c62cb4318e3f18453beb2d8dd4a4cc0-PR-30

Pull #30

github

thanos
What failed
All 6 failures were in Kathikon.IntegrationTest on Elixir 1.18 / OTP 27, each hitting {:error, :timeout} from TestSupport.await_state/3 after ~10s:

insert executes a successful job
insert retries failed jobs
insert discards after max attempts
sleep defers then completes…
scheduler promotes scheduled jobs
pruner removes old terminal jobs
Root cause
batch_test.exs and coverage_test.exs call Kathikon.pause_queue(:default) in setup. Those modules are async: false, but different async: false modules still run in parallel in ExUnit.

While batch/coverage tests had :default paused, integration tests were enqueueing on :default and waiting forever for jobs that could never run.

That’s why it looked flaky: it only failed when those modules overlapped on the slow 1.18 CI runner.

Fix applied
Added a dedicated :integration queue in config/test.exs
Moved all integration tests to queue: :integration
Added TestSupport.resume_all_queues!/0 and call it in integration setup
Bumped timeouts on backoff-heavy tests to 15s as a CI safety margin
Verified with mix test --max-cases 32 and repeated runs of integration + batch + coverage together — 0 failures.

The Dialyzer failure on that same run looks unrelated (passes locally); if it shows up again we can dig into that separately.
Pull Request #30: V0.2.0/control scheduling batches correctness

846 of 910 new or added lines in 21 files covered. (92.97%)

980 of 1050 relevant lines covered (93.33%)

75.23 hits per line

Uncovered Changes

Lines Coverage ∆ File
39
89.97
lib/kathikon/storage/mnesia.ex
5
92.96
lib/kathikon.ex
4
90.0
lib/kathikon/cron/expression.ex
3
95.65
lib/kathikon/batch.ex
3
95.7
lib/kathikon/dispatcher.ex
3
94.74
lib/kathikon/scheduler/built_in.ex
2
85.0
lib/kathikon/config.ex
1
93.75
lib/kathikon/job.ex
1
90.91
lib/kathikon/job/state_machine.ex
1
96.43
lib/kathikon/report.ex
1
95.65
lib/kathikon/storage.ex
1
95.83
lib/kathikon/timezone.ex
Jobs
ID Job ID Ran Files Coverage
1 461b7cf58c62cb4318e3f18453beb2d8dd4a4cc0-PR-30.1 23 Jun 2026 05:06PM UTC 28
93.33
GitHub Action Run
Source Files on build 461b7cf58c62cb4318e3f18453beb2d8dd4a4cc0-PR-30
  • Tree
  • List 28
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #30
  • Delete
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