• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pinecrew / pined-django / 33508157692
95%

Build:
DEFAULT BRANCH: main
Ran 01 Sep 2026 12:31PM UTC
Jobs 1
Files 36
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

01 Sep 2026 12:31PM UTC coverage: 94.783%. Remained the same
33508157692

push

github

citrux
db: pin the fingerprint against pydantic, and measure the last two floors

The hash a migration carries is taken over what `model_json_schema()`
produces, so a pydantic release that renders a shape differently moves it —
and every project holding that shape gets an `AlterPydantic` nobody wrote, on
a model nobody touched. Measured whether that had already happened: seventeen
field shapes, hashed on 2.11.4, 2.12.0, 2.12.5, 2.13.0 and 2.13.5.

Sixteen hold. `Decimal` does not: 2.12 added a `pattern` to the string arm of
its schema, and `e93668c429b3f38b` became `112a1698b55e380a`. The models this
repository carries are all stable, `Metadata` and its four historical shapes
included — `schema_history.py` exists to catch exactly this, and missed it
only because none of those shapes holds a `Decimal`.

So `pydantic>=2.12` for `pydantic-field`, which makes every supported version
agree on all seventeen, and `test_the_fingerprint_of_a_shape_does_not_move`
pins them one by one. It is green from 2.12.0 through 2.13.5 and red on
2.11.4, which is the floor stating its own reason. When it fires again, that is
a pydantic release doing to some other shape what 2.12 did to `Decimal`, and
the docstring says what to do about it.

The other two floors, bisected the same way: `dj-database-url>=3.1.2` →
`>=2.2.0`, which is where `parse()` learned the `disable_server_side_cursors`
that `components.Database` passes on every call — 2.1.0 fails sixteen tests
with a `TypeError`. `json-schema-to-pydantic` works as far back as 0.2.6 and
stays at 0.4.11 anyway: nothing else in a project's tree depends on it, so
lowering it buys no room in a resolution while promising behaviour on schema
shapes the suite never builds.

`test (lowest direct)` resolves django 5.2, pydantic 2.12.0, pydantic-settings
2.0.3, json-schema-to-pydantic 0.4.11 and dj-database-url 2.2.0. 304 passed
there and at the top of the ranges both.

229 of 250 branches covered (91.6%)

Branch coverage included in aggregate %.

1297 of 1360 relevant lines covered (95.37%)

0.95 hits per line

Jobs
ID Job ID Ran Files Coverage
1 33508157692.1 01 Sep 2026 12:31PM UTC 36
94.78
GitHub Action Run
Source Files on build 33508157692
  • Tree
  • List 36
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #33508157692
  • 6ae7cbdd on github
  • Prev Build on main (#33506593997)
  • Next Build on main (#33509123288)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc