docs(ci): record that the dependency floors are smoke-tested only - #239
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #236. Option 1 from the issue.
The
lowest-directjob installs each target at its declared floors and runsscripts/floor_smoke.pyand nothing else, so a type annotation valid against the newest resolution and invalid at the floor
passes CI in every job. That surfaced in #232: the
BrokerUsecase[typing.Any, typing.Any, typing.Any]annotation was verified by hand against faststream 0.6.0, 0.7.4 and 0.7.6, but CIchecked only the newest of the three.
The issue laid out four options. Both of the cheap ones are already blocked, for reasons the repo
documents:
scripts/floor_smoke.py's own docstring: "Not a pytesttest:
conftest.pyhard-imports opentelemetry, sentry_sdk and structlog, which most of thesetargets do not install."
tyat the floor hits the mirror image. A floor environment for one target installs only thattarget's extras, so checking the repo would report unresolved imports for every framework the job
deliberately did not install. That is noise, and AGENTS.md is explicit that
tydiagnostics aremeant to be acted on.
So the gap stays, and this records it where someone would look rather than leaving it as an
unexplained omission. The remaining options were a narrow per-target
tyrun, which needs a way tostop
tyfollowing imports into modules the job did not install and may not be expressible, andraising the floors so one resolution represents the declared range, which is a dependency policy
change rather than a CI one.
The failure mode is narrow: it needs an annotation referencing an optional dependency's internals
and a floor that disagrees with the ceiling about it. That has happened once, was caught within
hours, and the blast radius was a test helper. The daily dependency check added in #233 covers the
ceiling side.
Comment only. No job, matrix or step changes; I parsed the workflow after editing to confirm the
lowest-directjob still resolves with its five targets and both steps intact.