Skip to content

chore(ci): stabilize coverage gate and async event tests#20

Merged
mikehostetler merged 2 commits intomainfrom
chore/coverage-gate-baseline
Feb 27, 2026
Merged

chore(ci): stabilize coverage gate and async event tests#20
mikehostetler merged 2 commits intomainfrom
chore/coverage-gate-baseline

Conversation

@mikehostetler
Copy link
Contributor

Summary

  • align CI coverage gate with current enforced baseline (73.0%) while still blocking regressions
  • improve coverage job messaging to print both measured and minimum coverage
  • harden async shell event tests by using explicit 1_000ms receive timeouts
  • increase cancellation idle polling window to reduce scheduler-related flakes

Validation

  • mix test test/jido/shell/cancellation_test.exs test/jido/shell/session_server_test.exs --seed 0
  • mix test --seed 0
  • mix quality
  • mix coveralls
  • MIX_ENV=test mix run -e 'minimum = 73.0; data = Jason.decode!(File.read!("cover/excoveralls.json")); coverages = data["source_files"] |> Enum.flat_map(& &1["coverage"]); relevant = Enum.count(coverages, &(!is_nil(&1))); missed = Enum.count(coverages, &(&1 == 0)); percent = (relevant - missed) * 100.0 / relevant; rounded = Float.round(percent, 2); IO.puts("Coverage gate: #{rounded}% (minimum #{minimum}%)"); if percent < minimum, do: System.halt(1)'

@mikehostetler mikehostetler merged commit 7c25994 into main Feb 27, 2026
8 checks passed
@mikehostetler mikehostetler deleted the chore/coverage-gate-baseline branch February 27, 2026 19:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant