Repository navigation
fix(lib): correct typo 'propes' → 'props' in transform_schema comment #5240
Workflow file for this run
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
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - '**' | |
| - '!integrated/**' | |
| - '!stl-preview-head/**' | |
| - '!stl-preview-base/**' | |
| - '!generated' | |
| - '!codegen/**' | |
| - 'codegen/stl/**' | |
| pull_request: | |
| branches-ignore: | |
| - 'stl-preview-head/**' | |
| - 'stl-preview-base/**' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.sha || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| lint: | |
| timeout-minutes: 10 | |
| name: lint | |
| runs-on: ${{ github.repository == 'anthropics/anthropic-sdk-python' && 'ubuntu-latest' || 'ubuntu-latest-4-core' }} | |
| if: github.event_name == 'push' || github.event.pull_request.head.repo.fork | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 | |
| with: | |
| version: '0.10.2' | |
| - name: Install dependencies | |
| run: uv sync --all-extras | |
| - name: Run lints | |
| run: ./scripts/lint | |
| build: | |
| if: github.event_name == 'push' || github.event.pull_request.head.repo.fork | |
| timeout-minutes: 10 | |
| name: build | |
| permissions: | |
| contents: read | |
| id-token: write | |
| runs-on: ${{ github.repository == 'anthropics/anthropic-sdk-python' && 'ubuntu-latest' || 'ubuntu-latest-4-core' }} | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 | |
| with: | |
| version: '0.10.2' | |
| - name: Install dependencies | |
| run: uv sync --all-extras | |
| - name: Run build | |
| run: uv build | |
| - name: Get GitHub OIDC Token | |
| if: |- | |
| github.repository == 'anthropics/anthropic-sdk-python-private' && | |
| !startsWith(github.ref, 'refs/heads/stl/') | |
| id: github-oidc | |
| uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 | |
| with: | |
| script: core.setOutput('github_token', await core.getIDToken()); | |
| - name: Upload tarball | |
| if: |- | |
| github.repository == 'anthropics/anthropic-sdk-python-private' && | |
| !startsWith(github.ref, 'refs/heads/stl/') | |
| env: | |
| URL: https://pkg.stainless.com/s | |
| AUTH: ${{ steps.github-oidc.outputs.github_token }} | |
| SHA: ${{ github.sha }} | |
| run: ./scripts/utils/upload-artifact.sh | |
| test: | |
| timeout-minutes: 10 | |
| name: test | |
| runs-on: ${{ github.repository == 'anthropics/anthropic-sdk-python' && 'ubuntu-latest' || 'ubuntu-latest-4-core' }} | |
| if: github.event_name == 'push' || github.event.pull_request.head.repo.fork | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: oldest python | |
| python: '>=3.10.0' | |
| - name: newest python | |
| python: '>=3.14.0' | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 | |
| with: | |
| version: '0.10.2' | |
| - name: Bootstrap | |
| run: ./scripts/bootstrap | |
| - name: Run tests | |
| env: | |
| UV_PYTHON: ${{ matrix.python }} | |
| run: ./scripts/test | |
| detect_breaking_changes: | |
| timeout-minutes: 10 | |
| name: detect-breaking-changes | |
| runs-on: ${{ github.repository == 'anthropics/anthropic-sdk-python' && 'ubuntu-latest' || 'ubuntu-latest-4-core' }} | |
| if: |- | |
| (github.event_name == 'push' && | |
| !startsWith(github.ref, 'refs/heads/release-please--')) || | |
| github.event.pull_request.head.repo.fork | |
| steps: | |
| # fetch-depth: 0 fetches full commit history (all branches and | |
| # tags, so the base ref is available) so `git merge-base` | |
| # below can resolve the fork point. filter: blob:none keeps the | |
| # fetch cheap: commit metadata is downloaded eagerly, file blobs | |
| # only when a later `git checkout` asks for them. | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| fetch-depth: 0 | |
| filter: blob:none | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 | |
| with: | |
| version: '0.10.2' | |
| - name: Install dependencies | |
| run: uv sync --all-extras | |
| - name: Determine base SHA | |
| run: | | |
| # A breaking-change-baseline tag, when the repo keeps one, marks the API | |
| # surface to compare against; it is moved by force, so refetch it. | |
| git fetch --quiet --force origin '+refs/tags/breaking-change-baseline:refs/tags/breaking-change-baseline' 2>/dev/null || true | |
| if git rev-parse --quiet --verify 'refs/tags/breaking-change-baseline^{commit}' >/dev/null; then | |
| BASE_REF='refs/tags/breaking-change-baseline' | |
| elif git rev-parse --quiet --verify 'origin/main^{commit}' >/dev/null; then | |
| BASE_REF='origin/main' | |
| else | |
| echo 'No breaking-change-baseline tag or origin/main to compare against; skipping.' | |
| echo "BASE_SHA=" >> "$GITHUB_ENV" | |
| exit 0 | |
| fi | |
| echo "Comparing against $BASE_REF" | |
| BASE_SHA=$(git merge-base HEAD "$BASE_REF" 2>/dev/null || echo "") | |
| echo "BASE_SHA=$BASE_SHA" >> "$GITHUB_ENV" | |
| - name: Detect removed symbols | |
| if: env.BASE_SHA != '' | |
| run: | | |
| uv run python scripts/detect-breaking-changes.py "$BASE_SHA" | |
| - name: Detect breaking changes | |
| if: env.BASE_SHA != '' | |
| run: | | |
| # Try to check out previous versions of the breaking change detection script. This ensures that | |
| # we still detect breaking changes when entire files and their tests are removed. | |
| git checkout "$BASE_SHA" -- ./scripts/detect-breaking-changes 2>/dev/null || true | |
| ./scripts/detect-breaking-changes "$BASE_SHA" |