Skip to content

Commit 5c06b57

Browse files
feat: add PR validation workflow
The Python SDK had no pull_request-triggered checks, so regen PRs (speakeasy-sdk-regen-*) carried an empty status-check rollup and the auto-merge flow would merge them with zero validation. The TypeScript SDK validates every regen PR via pr-validation.yaml; Python had no equivalent. Add a single-file PR Validation workflow that builds the package and runs the SDK's existing quality gates (mypy, pyright, pylint) via uv. No tests exist in this repo yet, so no API-key secret is needed, which also lets the workflow run on fork PRs. paths-ignore on .speakeasy/in.openapi.yaml mirrors TS so pure spec-bump PRs don't double-trigger. This registers a `validate` check that the auto-merge wait_for_checks step will gate on once both land.
1 parent b161a5c commit 5c06b57

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: PR Validation
2+
3+
on:
4+
pull_request:
5+
paths-ignore:
6+
- .speakeasy/in.openapi.yaml
7+
8+
concurrency:
9+
group: pr-validation-${{ github.event.pull_request.number }}
10+
cancel-in-progress: true
11+
12+
permissions:
13+
contents: read
14+
15+
jobs:
16+
validate:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout code
20+
uses: actions/checkout@v5
21+
22+
- name: Install uv
23+
uses: astral-sh/setup-uv@v5
24+
with:
25+
enable-cache: true
26+
27+
- name: Build SDK
28+
run: uv build
29+
30+
- name: Type check (mypy)
31+
run: uv run --group dev mypy src
32+
33+
- name: Type check (pyright)
34+
run: uv run --group dev pyright src
35+
36+
- name: Lint (pylint)
37+
run: uv run --group dev pylint src --rcfile pylintrc

0 commit comments

Comments
 (0)