Skip to content

ci: run the Miri connection tests one target per runner - #88

Merged
JustinKovacich merged 1 commit into
mainfrom
ci/miri-connection-matrix
Oct 22, 2026
Merged

JustinKovacich merged 1 commit into
mainfrom
ci/miri-connection-matrix

Conversation

@JustinKovacich

@JustinKovacich JustinKovacich commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

The hand-rolled Miri job for simple_doip's connection tests took 24 minutes on #83, against under a minute for every other job. Setup and compilation took under a minute of that. The rest was Miri interpreting the tests on one thread:

Target Time under Miri
--lib 0.6 min
entity 3.1 min
entity_cancel 7.6 min
mock_stack under 1 s
tester 7.7 min
  • miri-connection-target runs each target on its own runner: the library and mock_stack together, then entity, entity_cancel and tester alone. The test set and the Miri flags are unchanged.
  • miri-connection keeps the name main's ruleset requires, "Miri (simple_doip connection)". It passes only when every leg passed, so the ruleset needs no change.

The wall time should fall to the slowest leg, about 8 to 9 minutes. The remaining cost is the drop-at-every-poll sweeps, which this change does not touch.

Issue URL

No issue: a CI duration fix found reviewing #83.

Testing

  • pre-commit passes on the changed files, and the workflow parses.
  • This PR's own run passed, with the gate green and the required check satisfied:
Leg Time
lib and mock_stack 1m02s
entity 3m39s
entity_cancel 9m19s
tester 5m08s
gate 3s

The slowest leg now finishes beside rust-ci.yml's own ci / Miri Tests, 9m24s on this run, so the two Miri jobs set the PR's wait together.

🤖 Generated with Claude Code

@JustinKovacich JustinKovacich added the No Issue PR has no linked issue; satisfies PR Description Lint label Oct 20, 2026
Miri interprets on a single thread, so the connection tests ran end to
end on one runner for 24 minutes, most of it the cancellation sweeps in
entity_cancel and tester. Each target now runs on its own runner, and a
gate job keeps the check name main's ruleset requires.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JustinKovacich
JustinKovacich force-pushed the ci/miri-connection-matrix branch from 3f18297 to fc0238f Compare October 21, 2026 18:11
@JustinKovacich
JustinKovacich merged commit ff759c9 into main Oct 22, 2026
31 checks passed
@JustinKovacich
JustinKovacich deleted the ci/miri-connection-matrix branch October 22, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

No Issue PR has no linked issue; satisfies PR Description Lint

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants