chore: release main #3543
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/**' | |
| jobs: | |
| lint: | |
| timeout-minutes: 10 | |
| name: lint | |
| runs-on: ${{ github.repository == 'stainless-sdks/anthropic-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} | |
| if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Set up Node | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: '22' | |
| - name: Bootstrap | |
| run: ./scripts/bootstrap | |
| - name: Update internal symlinks in third party packages | |
| run: ./bin/replace-internal-symlinks | |
| - name: run build all | |
| # this is needed so that sub packages can work (they depend on `dist` in the root folder) | |
| run: ./scripts/build-all | |
| - name: Check types | |
| run: ./scripts/lint | |
| build: | |
| timeout-minutes: 5 | |
| name: build | |
| runs-on: ${{ github.repository == 'stainless-sdks/anthropic-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} | |
| if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) | |
| permissions: | |
| contents: read | |
| id-token: write | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Set up Node | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: '22' | |
| - name: Bootstrap | |
| run: ./scripts/bootstrap | |
| - name: Update internal symlinks in third party packages | |
| run: ./bin/replace-internal-symlinks | |
| - name: run build all | |
| run: ./scripts/build-all | |
| - name: Get GitHub OIDC Token | |
| if: |- | |
| github.repository == 'stainless-sdks/anthropic-typescript' && | |
| !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 == 'stainless-sdks/anthropic-typescript' && | |
| !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 == 'stainless-sdks/anthropic-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} | |
| if: github.event_name == 'push' || github.event.pull_request.head.repo.fork | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Set up Node | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: '22' | |
| - name: Bootstrap | |
| run: ./scripts/bootstrap | |
| - name: Update internal symlinks in third party packages | |
| run: ./bin/replace-internal-symlinks | |
| - name: run build all | |
| # this is needed so that sub packages can work (they depend on `dist` in the root folder) | |
| run: ./scripts/build-all | |
| - name: Run tests | |
| run: ./scripts/test | |
| detect_breaking_changes_vs_main: | |
| timeout-minutes: 10 | |
| name: detect-breaking-changes-vs-main | |
| runs-on: ${{ github.repository == 'stainless-sdks/anthropic-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} | |
| if: | | |
| (github.event_name == 'push' && | |
| !startsWith(github.ref, 'refs/heads/release-please--')) || | |
| github.event_name == 'pull_request' | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Fetch history for current branch and main | |
| run: | | |
| git fetch origin --filter=blob:none --no-tags --depth=2147483647 ${{ github.sha }} | |
| git fetch origin --filter=blob:none --no-tags main 2>/dev/null || true | |
| - name: Set up Node | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: '22' | |
| - name: Install dependencies | |
| run: yarn install | |
| - name: Determine base SHA | |
| run: | | |
| BASE_SHA=$(git merge-base HEAD origin/main 2>/dev/null || echo "") | |
| echo "BASE_SHA=$BASE_SHA" >> $GITHUB_ENV | |
| - name: Detect breaking changes vs. main | |
| 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" |