fix(release): count .md changes in package matrix; use --frozen for pytest

Review findings from the PR:
- release.py's has_changes() only counted .py/.ts files, so the README
  touches meant to enroll the four TS packages in the npm matrix would
  have been ignored. Include .md — READMEs ship inside the published
  package (npm tarball / PyPI long_description), so doc changes are
  release-relevant.
- uv run --frozen pytest for consistency with the job's other uv calls.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AViME1R9ES2UXT1uQDx1TG
This commit is contained in:
cliffhall 2026-07-04 15:29:44 -04:00
commit f4c86ff964
2 changed files with 4 additions and 2 deletions

View file

@ -142,7 +142,7 @@ jobs:
working-directory: src/${{ matrix.package }} working-directory: src/${{ matrix.package }}
run: | run: |
if [ -d "tests" ] || [ -d "test" ]; then if [ -d "tests" ] || [ -d "test" ]; then
uv run pytest uv run --frozen pytest
else else
echo "No tests directory, skipping" echo "No tests directory, skipping"
fi fi

View file

@ -113,7 +113,9 @@ def has_changes(path: Path, git_hash: GitHash) -> bool:
) )
changed_files = [Path(f) for f in output.stdout.splitlines()] changed_files = [Path(f) for f in output.stdout.splitlines()]
relevant_files = [f for f in changed_files if f.suffix in [".py", ".ts"]] # .md counts as a change: READMEs ship inside the published package
# (npm tarball / PyPI long_description)
relevant_files = [f for f in changed_files if f.suffix in [".py", ".ts", ".md"]]
return len(relevant_files) >= 1 return len(relevant_files) >= 1
except subprocess.CalledProcessError: except subprocess.CalledProcessError:
return False return False