Skip to content

ci: replaced python_version matrix var with `python-version-file: p… - #124

Open
ErikBjare wants to merge 1 commit into
masterfrom
dev/ci-python-version-file
Open

ErikBjare wants to merge 1 commit into
masterfrom
dev/ci-python-version-file

Conversation

@ErikBjare

Copy link
Copy Markdown
Member

…yproject.toml`

@TimeToBuildBob

TimeToBuildBob commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

🤖 AI code review

Replaces the explicit python_version: [3.8] matrix dimension and the python-version: ${{ matrix.python_version }} input in .github/workflows/build.yml with python-version-file: pyproject.toml on the setup-python step, and drops the matrix variable from the job name. Adds the same with: python-version-file: pyproject.toml input to both setup-python steps in .github/workflows/lint.yml.

Safe to merge — no P0/P1 findings

Confidence 5/5

No thread-worthy findings. Advisory notes follow; they are retained without opening review threads.

1 advisory finding (summary-only, not scored)

These P2 guard, heuristic, trade-off, or documentation claims are retained for judgment without opening review threads.

⚠️ P2 medium.github/workflows/build.yml:25

python-version-file: pyproject.toml asks actions/setup-python@v4 to read the interpreter version from the project metadata. In a Poetry repo the [tool.poetry.dependencies] entry is ordinarily a constraint such as python = ">=3.10,<4.0" or "^3.11", not a single concrete version. setup-python takes that value verbatim as its python-version selector and fails the step when the value is a range/caret constraint rather than selecting one member of the range. Because this step runs identically for every OS in the matrix, a non-concrete constraint errors all three 'Set up Python' steps and the job never reaches install/test. The previous workflow pinned a concrete 3.8 here, so the failure mode is new to this change. The safe form is a concrete python-version (e.g. '3.11') or a .python-version file; keep the file-based input only if pyproject.toml itself pins a single exact version.

How this was verified: Checked both changed workflow files: the only version source left for the build job's setup-python is pyproject.toml, whose contents are not part of this diff, so the finding is conditional on pyproject.toml declaring a range — the usual Poetry form. setup-python@v4 does not resolve ranges from python-version-file (its parser returns the raw constraint string).

Files changed (2) — the diff as I read it
  • .github/workflows/build.yml — Removes the python_version matrix variable and the name interpolation for it, and points setup-python at python-version-file: pyproject.toml.
  • .github/workflows/lint.yml — Adds with: python-version-file: pyproject.toml to the setup-python steps of the lint and format jobs.

Reviewed c0a250af2548 · openrouter/deepseek/deepseek-v4-flash-0731 · llm engine · 263s · about this reviewer

Maintainer commands

@TimeToBuildBob review (own line) — fresh review · @TimeToBuildBob fix — a worker acts on the findings. Once per comment; 👀 = received.

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.

2 participants