From 48d03288f36c823ed216048ab512a1431b507a1a Mon Sep 17 00:00:00 2001 From: Rafael Richards Date: Tue, 12 May 2026 10:02:31 -0400 Subject: [PATCH] ci: gitignore .pytest_cache/ + consolidate pytest into the jsonschema install Two small CI hygiene fixes from the .gitignore/Makefile/workflows audit earlier in the 2026-05-12 session. - .gitignore: add `.pytest_cache/` explicitly. Today it's silently ignored only because pytest auto-generates `.pytest_cache/.gitignore` with `*`. Listing it at the top level matches the convention every other Python repo follows and stops a future maintainer wondering why the dir survives a clean clone. - .github/workflows/ci.yml: fold `pytest` into the existing `pip install` step instead of installing it inline from the test-run step. One install instead of two; identical behavior. No functional change to CI gating. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/ci.yml | 13 +++++++------ .gitignore | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f5565b..ed52516 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,16 +30,17 @@ jobs: python-version: '3.12' - name: Install Phase-1 catalog dependencies - # build-catalog.py + validate-catalog.py need jsonschema. - # Pinned-ish — Draft 2020-12 has been stable for years and the - # validator API is small. Bump as needed; not part of the - # schema-compat contract. - run: pip install --upgrade pip 'jsonschema>=4.18' + # build-catalog.py + validate-catalog.py need jsonschema; + # the profile/build/test_*.py suite needs pytest. Pinned-ish — + # Draft 2020-12 has been stable for years and the validator API + # is small. Bump as needed; not part of the schema-compat + # contract. + run: pip install --upgrade pip 'jsonschema>=4.18' pytest - name: Run Phase-1 catalog unit tests # TDD safety net for build-catalog.py + validate-catalog.py. # Fails fast if a script edit broke a test. - run: pip install pytest && pytest profile/build/ -q + run: pytest profile/build/ -q - name: docs/ prose-only gate # Cross-repo guardrail: docs/ holds only human-readable prose. diff --git a/.gitignore b/.gitignore index 82160fb..f619bc8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ __pycache__/ *.pyc +.pytest_cache/ .DS_Store # Phase 3 leftover: an early Track C agent run copied recipe / task_index