Test levels: smoke e2e on PRs, the full set on e2e:full and before a release
- Every PR: lint, unit tests across the runner's cores (pytest-xdist), 16 property walks from a seed that moves with the run number, integration tests, and the end-to-end smoke tests (the slice, a conversation filed as work, a question; `smoke` marker). - A PR labelled e2e:full, a push to main, or a manual run: all 48 walks and the whole end-to-end suite. Adding e2e:full to a PR runs it; any other label runs nothing. - A published release runs the full set before its image is built. - The walk's seeds come from NISSE_WALK_SEEDS / NISSE_WALK_FIRST (48 from 0 by default). Measured here: the unit tier on 2 workers took 3m49s against 6-8 minutes serially. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PPQ14L3LikyefCMFBqEbKE
This commit is contained in:
1 parent
07a2eb9d10
commit
e35aea5045
7 files changed
+124
-15
No files matched your search
@@ -239,6 +239,7 @@ class Operator:
|
||||
return self.transport.outbound[-1].text if self.transport.outbound else ""
|
||||
|
||||
|
||||
@pytest.mark.smoke
|
||||
def test_the_slice_end_to_end(
|
||||
running: tuple[RunningLoop, InMemoryTransport, str],
|
||||
) -> None:
|
||||
@@ -501,6 +502,7 @@ def test_a_two_milestone_feature(
|
||||
operator.tidy(issues, prs)
|
||||
|
||||
|
||||
@pytest.mark.smoke
|
||||
def test_a_conversation_becomes_filed_work(
|
||||
running: tuple[RunningLoop, InMemoryTransport, str],
|
||||
) -> None:
|
||||
@@ -636,6 +638,7 @@ def test_a_conversation_becomes_a_new_project(
|
||||
assert any(f.startswith("docs/plans/") for f in files), files
|
||||
|
||||
|
||||
@pytest.mark.smoke
|
||||
def test_a_question_leaves_the_restatement_up(
|
||||
running: tuple[RunningLoop, InMemoryTransport, str],
|
||||
) -> None:
|
||||
|
||||
Reference in new issue
Block a user