Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 5 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
- '.claude/**'
- 'LICENSE'
pull_request:
# `ready_for_review` is NOT a default activity type. Without it, flipping a
# draft to ready fires no event, so the macOS leg gated below never runs.
types: [opened, synchronize, reopened, ready_for_review]
paths-ignore:
- 'docs/**'
Expand All @@ -40,28 +38,23 @@

jobs:
test:
runs-on: ${{ matrix.os }}
# The SDK is pure Python, so a macOS runner proves very little here that
# Linux does not — and it bills at $0.062/min against Linux's $0.006, with a
# 10x draw on the included-minutes allowance. Two of the six legs were
# macOS. It now joins on a push to main, on a v* tag (a release should be
# proven on all three), and on a pull request once marked ready for review.
# Windows is left unconditional: at 2x it is not what the bill is made of.
runs-on: ubuntu-latest
# macOS dropped from CI entirely (ci: drop macOS, single-OS fixtures,
# manual-only aux checks) — the SDK is pure Python, so a macOS runner
# proved very little here that Linux does not, at 10x Linux's billing
# rate. macOS is tested locally instead.
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
os: ${{ (github.event_name != 'pull_request' || github.event.pull_request.draft == false)
&& fromJSON('["ubuntu-latest", "macos-latest"]')
|| fromJSON('["ubuntu-latest"]') }}
# 3.11 is the floor (tomllib landed there); 3.13 guards the top end.
python: ["3.11", "3.13"]
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- run: uv run --python ${{ matrix.python }} --with pytest --with . pytest tests/ -q

build:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
needs: test
runs-on: ubuntu-latest
timeout-minutes: 10
Expand Down
Loading