Skip to content

chore(sdk-py): prepare v0.15.0 release (#984) #465

chore(sdk-py): prepare v0.15.0 release (#984)

chore(sdk-py): prepare v0.15.0 release (#984) #465

Workflow file for this run

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)