Skip to content

test: reduce registry manifest test repetition#2

Draft
PascalThuet wants to merge 7 commits into
chore/integration-test-isolationfrom
chore/parallelize-integration-tests
Draft

test: reduce registry manifest test repetition#2
PascalThuet wants to merge 7 commits into
chore/integration-test-isolationfrom
chore/parallelize-integration-tests

Conversation

@PascalThuet

Copy link
Copy Markdown
Owner

What

Reduce the expensive multi-install manifest contract from one CLI setup per safe-integration pair to two aggregate install orders: forward and reverse.

This keeps the pairwise manifest-disjoint assertion, but builds the manifests once per order instead of repeating the same setup for every pair.

Stack

Stacked on github#3144. Retarget this PR after github#3144 lands, or recreate it against upstream if needed.

Validation

  • uv sync --extra test
  • uvx ruff check tests/integrations/test_registry.py
  • git diff --check
  • .venv/bin/python -m pytest tests/integrations/test_registry.py --durations=30 -q (1035 passed in 34.86s)
  • .venv/bin/python -m pytest tests/integrations --durations=30 -q before the final naming/comment cleanup (2500 passed, 1 skipped in 236.69s)

Comparison on the same machine:

  • Base stack PR: tests/integrations/test_registry.py collected 1223 tests and took 248.55s
  • This PR: tests/integrations/test_registry.py collects 1035 tests and took 34.86s

Disclosure

Prepared by Codex (model: GPT-5) on behalf of @PascalThuet.

Assisted-by: Codex (model: GPT-5, autonomous)
Add a >=2 precondition, explain why two install orders are tested
(manifests are order-independent; the orders only vary the init path),
and build the manifest map with a comprehension.
Assisted-by: Codex (model: GPT-5, autonomous)
Assisted-by: OpenAI Codex (model: GPT-5, autonomous)
Assisted-by: Codex (model: GPT-5, autonomous)
Assisted-by: Codex (model: GPT-5, autonomous)
…tion-tests

Assisted-by: Codex (model: GPT-5, autonomous)
PascalThuet pushed a commit that referenced this pull request Jul 20, 2026
* feat(workflows): expose workflow source directory to steps (github#3467)

Propagate WorkflowDefinition.source_path to steps via
{{ context.workflow_dir }} in template expressions and
SPECKIT_WORKFLOW_DIR env var for shell steps. The original
source directory is persisted in state.json so resume
restores the correct value instead of the run-directory copy path.

Closes github#3467

Assisted-By: 🤖 Claude Code

* fix: apply bot review suggestions (#2)

Applied fixes from bot review comments:
- Comment #3563319058: prevent stale SPECKIT_WORKFLOW_DIR leak from parent env
- Comment #3563319094: use cross-platform Python one-liner instead of printenv
- Comment #3563319103: add monkeypatch.delenv for deterministic env var test
- Comment #3563319116: same env leak fix as #3563319058

Assisted-By: 🤖 Claude Code

* fix: use YAML single-quotes and forward-slash paths for Windows CI (#2)

sys.executable on Windows returns backslash paths (D:\a\...) which YAML
double-quoted strings interpret as escape sequences. Switch to
single-quoted YAML strings and normalize paths with replace("\\", "/").

Assisted-By: 🤖 Claude Code

* fix: resolve workflow_dir to absolute path and add installed-by-ID test (github#3469)

Applied fixes from bot review comments:
- Comment #3563382853: resolve source_path before taking parent to ensure absolute paths
- Comment #3563382864: add test for installed-by-ID workflow_dir semantics

Assisted-By: 🤖 Claude Code

* docs: document context.workflow_dir and SPECKIT_WORKFLOW_DIR

Add reference documentation for the new workflow_dir runtime value in
both workflows/README.md and docs/reference/workflows.md so workflow
authors can discover the feature and its semantics.

Assisted-By: 🤖 Claude Code

* fix: clarify installed workflow_dir is an absolute path (github#3469)

The documentation for context.workflow_dir described the installed-by-ID
case as ".specify/workflows/<id>/" which appears relative, contradicting
the "resolved absolute path" semantics. Clarified that it is the absolute
path to the installation directory.

Assisted-By: 🤖 Claude Code

* fix: apply bot review suggestions (github#3469)

Applied fixes from bot review comments:
- Comment #3580005128: Quote sys.executable in shell step env var test
- Comment #3580005174: Quote sys.executable in no-env-var test

Assisted-By: 🤖 Claude Code

* fix: apply bot review suggestions (github#3469)

Applied fixes from bot review comments:
- Comment #3587146944: Quote interpolated workflow_dir path in example

Assisted-By: 🤖 Claude Code
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