feat!: release new version of PHP SDK library#599
Conversation
Greptile SummaryThis PR drops Python 3.8 and 3.9 support from the workos-python SDK, raising the minimum to Python 3.10, and reorganises CI by extracting linting/formatting/type-checking into a dedicated Key changes:
Notable observations:
Confidence Score: 5/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
PR[Pull Request / Push to main]
PR --> CI[ci.yml]
PR --> LINT[lint.yml]
CI --> TEST["Test job\n(Python 3.10–3.14 matrix)"]
CI --> SMOKE["Smoke-test job\n(autorelease: pending label only)\n(Python 3.10–3.14 matrix)"]
TEST --> INSTALL_T[uv sync --locked --dev]
INSTALL_T --> PYTEST[uv run pytest]
SMOKE --> INSTALL_S[uv sync]
INSTALL_S --> BUILD[uv build]
BUILD --> SMOKE_WHEEL[Smoke test wheel]
BUILD --> SMOKE_SDIST[Smoke test sdist]
LINT --> LINT_JOB["Lint job\n(Python 3.14 only)"]
LINT_JOB --> INSTALL_L[uv sync --locked --dev]
INSTALL_L --> FORMAT[ruff format --check]
INSTALL_L --> RUFF[ruff check]
INSTALL_L --> MYPY[mypy]
|
| enable-cache: true | ||
|
|
||
| - name: Install dependencies | ||
| run: uv sync --locked --dev |
There was a problem hiding this comment.
Lint workflow installs all dev dependencies unnecessarily
uv sync --locked --dev installs every dependency group (test, nox, type_check, and lint), but this job only needs lint and type_check. Consider restricting the install to keep the job lean:
| run: uv sync --locked --dev | |
| run: uv sync --locked --only-group lint --only-group type_check |
Description
This PR will be used as a base for future work mapping to the autogenerated Python SDK.
It is, at the least, a major release, because we are dropping support for Python versions < 3.10.