Skip to content

docs(standard): run floors on pull requests only, not on the schedule - #113

Merged
lesnik512 merged 2 commits into
mainfrom
docs/floors-off-schedule
Sep 25, 2026
Merged

lesnik512 merged 2 commits into
mainfrom
docs/floors-off-schedule

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Section 7 now keeps floors on ci.yml and skips it on the schedule. It also corrects the cadence of scheduled.yml from weekly to daily, which is what every repo has run since lite-bootstrap#233.

Why

  • The scheduled run has nothing new to catch. --resolution lowest-direct holds direct dependencies at their floors, which don't change between runs. So a cron run can only catch a new transitive release breaking an old floor. That case gets papered over with a CI-only pin, like modern-di-fastapi's httpx<0.28, or the floor gets raised on a maintainer's own schedule. The scheduled pytest already catches breakage from the newest releases, which are what users install.
  • Its record. Since 2026-06-15 there have been 23 scheduled failures across the org. All came from lint or pytest, and none from a floors job.
  • The pull request is where a floor breaks. lite-bootstrap ran floors only on the schedule and shipped a floor break to PyPI (lite-bootstrap#245).
  • Industry practice. scikit-learn, pandas, xarray, matplotlib, FastAPI and Airflow all test their floors on pull requests. uv's resolution docs recommend a lowest or lowest-direct CI run for libraries.

How it works

The job is skipped with if: github.event_name != 'schedule'. GitHub documents that a reusable workflow's github context is always the caller's (reusing-workflow-configurations), so callers need no input.

Follow-ups

@lesnik512
lesnik512 merged commit d458bca into main Sep 25, 2026
3 checks passed
@lesnik512
lesnik512 deleted the docs/floors-off-schedule branch September 25, 2026 15:42
This was referenced Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Four repos run the dependency-floor gate under a name the standard does not use

1 participant