[red-knot] pull primer projects to run from file (#17473)

## Summary

The long line of projects in `mypy_primer.yaml` is hard to work with
when adding projects or checking whether they are currently run. Use a
one-per-line text file instead.

## Test Plan

Ecosystem check on this PR.
This commit is contained in:
Carl Meyer 2025-04-18 14:20:18 -07:00 committed by GitHub
parent 454ad15aee
commit 8fe2dd5e03
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 28 additions and 2 deletions

View File

@ -52,6 +52,8 @@ jobs:
run: | run: |
cd ruff cd ruff
PRIMER_SELECTOR="$(paste -s -d'|' crates/red_knot_python_semantic/resources/primer/good.txt)"
echo "new commit" echo "new commit"
git rev-list --format=%s --max-count=1 "$GITHUB_SHA" git rev-list --format=%s --max-count=1 "$GITHUB_SHA"
@ -62,13 +64,14 @@ jobs:
cd .. cd ..
echo "Project selector: $PRIMER_SELECTOR"
# Allow the exit code to be 0 or 1, only fail for actual mypy_primer crashes/bugs # Allow the exit code to be 0 or 1, only fail for actual mypy_primer crashes/bugs
uvx mypy_primer \ uvx mypy_primer \
--repo ruff \ --repo ruff \
--type-checker knot \ --type-checker knot \
--old base_commit \ --old base_commit \
--new "$GITHUB_SHA" \ --new "$GITHUB_SHA" \
--project-selector '/(mypy_primer|black|pyp|git-revise|zipp|arrow|isort|itsdangerous|rich|packaging|pybind11|pyinstrument|typeshed-stats|scrapy|werkzeug|bidict|async-utils|python-chess|dacite|python-htmlgen|paroxython|porcupine|psycopg)$' \ --project-selector "/($PRIMER_SELECTOR)\$" \
--output concise \ --output concise \
--debug > mypy_primer.diff || [ $? -eq 1 ] --debug > mypy_primer.diff || [ $? -eq 1 ]

View File

@ -31,7 +31,7 @@ mypy_primer \
``` ```
This will show the diagnostics diff for the `black` project between the `main` branch and your `my/feature` branch. To run the This will show the diagnostics diff for the `black` project between the `main` branch and your `my/feature` branch. To run the
diff for all projects, you currently need to copy the project-selector regex from the CI pipeline in `.github/workflows/mypy_primer.yaml`. diff for all projects we currently enable in CI, use `--project-selector "/($(paste -s -d'|' crates/red_knot_python_semantic/resources/primer/good.txt))\$"`.
You can also take a look at the [full list of ecosystem projects]. Note that some of them might still need a `knot_paths` configuration You can also take a look at the [full list of ecosystem projects]. Note that some of them might still need a `knot_paths` configuration
option to work correctly. option to work correctly.

View File

@ -0,0 +1,23 @@
arrow
async-utils
bidict
black
dacite
git-revise
isort
itsdangerous
mypy_primer
packaging
paroxython
porcupine
psycopg
pybind11
pyinstrument
pyp
python-chess
python-htmlgen
rich
scrapy
typeshed-stats
werkzeug
zipp