chore(sdk-py): prepare v0.15.0 release (#984) #465
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: MDX snippets" | |
| # Execute the SDK code snippets embedded in the site .mdx docs against the | |
| # in-tree SDK (verification-gate #5 / ADR-0024). The site is a primary assertion | |
| # surface — its docs make the same "this works" claim as the SDK READMEs — so | |
| # every runnable snippet must run in an isolated tmpdir and exit 0. | |
| # | |
| # This mirrors readme-snippets.yml but targets site/src/content and runs in | |
| # `--mode run` only. Illustrative or non-runnable blocks (API-reference import | |
| # listings, the "not a runnable template" deployment walk-throughs) carry a | |
| # `{/* snippet-check: skip */}` directive; daemon-dependent blocks run | |
| # hermetically (fire-and-forget drop with no daemon). See scripts/readme_snippets/. | |
| on: | |
| push: | |
| branches: [main] | |
| paths: &paths | |
| - "site/src/content/**/*.mdx" | |
| - "site-obsigna/src/content/**/*.mdx" | |
| - "scripts/readme_snippets/**" | |
| - ".github/workflows/mdx-snippets.yml" | |
| - "sdk/go/**" | |
| - "sdk/ts/**" | |
| - "sdk/py/**" | |
| pull_request: | |
| branches: [main] | |
| paths: *paths | |
| permissions: | |
| contents: read | |
| jobs: | |
| go: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6 | |
| with: | |
| go-version: "1.26" | |
| - name: Run Go .mdx snippets (in-tree) | |
| run: python3 scripts/readme_snippets/check.py --lang go --source local --mode run $(find site/src/content site-obsigna/src/content -name '*.mdx' | sort) | |
| typescript: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - run: corepack enable && corepack prepare pnpm@10.33.0 --activate | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 | |
| with: | |
| node-version: "24" | |
| cache: "pnpm" | |
| cache-dependency-path: sdk/ts/pnpm-lock.yaml | |
| # The snippets resolve `@obsigna/sdk-ts` from a file: install of the | |
| # in-tree package, so its dist/ must be built first. | |
| - name: Build in-tree TypeScript SDK | |
| working-directory: sdk/ts | |
| run: pnpm install --frozen-lockfile && pnpm run build | |
| - name: Run TypeScript .mdx snippets (in-tree) | |
| run: python3 scripts/readme_snippets/check.py --lang ts --source local --mode run $(find site/src/content site-obsigna/src/content -name '*.mdx' | sort) | |
| python: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Run Python .mdx snippets (in-tree) | |
| run: python3 scripts/readme_snippets/check.py --lang py --source local --mode run $(find site/src/content site-obsigna/src/content -name '*.mdx' | sort) |