Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: "3.13"
- run: pip install pyyaml openapi-spec-validator
- run: pip install -r scripts/requirements.txt
- run: python3 scripts/validate_specs.py --strict
# A field this branch stopped documenting, said out loud. Not a failure:
# upstream is allowed to withdraw a field, and only a person can tell that
Expand All @@ -109,7 +109,7 @@ jobs:
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: "3.13"
- run: pip install pyyaml
- run: pip install -r scripts/requirements.txt
# The detector before what it detects: a check nobody has seen fail is a
# check nobody knows works.
- run: python3 scripts/coverage.py --self-test
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/spec-drift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: "3.13"
- run: pip install pyyaml openapi-spec-validator
- run: pip install -r scripts/requirements.txt
- name: Refetch the specs under today's date
run: |
set -euo pipefail
Expand Down
36 changes: 36 additions & 0 deletions scripts/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# What the spec tooling runs on, pinned to a resolution rather than a guess.
#
# Every `uses:` in .github/workflows is a full commit SHA, because a tag is a
# mutable pointer whoever owns it can move. A floating `pip install` executing
# on the same runner is that pointer under a different name — and one of the
# jobs that does it can write to this repository.
#
# The two packages actually asked for are PyYAML and openapi-spec-validator.
# The other nineteen are what they pull, which is why naming only the two would
# have left most of the surface floating.
#
# One file for every job, including the one that needs PyYAML alone: a second
# list is a second thing to keep in step, and the seconds it saves are not
# worth that. To move it, add `pip freeze` to a run in a fresh venv and paste
# what it prints — the numbers here came from run 32353300009.

annotated-types==0.8.0
attrs==26.1.0
jsonschema==4.26.0
jsonschema-path==0.5.0
jsonschema-specifications==2025.9.1
lazy-object-proxy==1.12.0
openapi-schema-validator==0.9.0
openapi-spec-validator==0.9.0
pathable==0.6.0
pydantic==2.13.4
pydantic-settings==2.15.0
pydantic_core==2.46.4
python-dotenv==1.2.3
PyYAML==6.0.3
referencing==0.37.0
rfc3339-validator==0.1.4
rpds-py==2026.6.3
six==1.17.0
typing-inspection==0.4.4
typing_extensions==4.16.0