chore(sdk): regenerate from openapi@main #20
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: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint-and-test: | |
| name: Lint + Test (Python ${{ matrix.python }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: ["3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - name: Setup Node (for @archastro/channel-harness + prism) | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| - run: npm ci --ignore-scripts | |
| - name: Audit JS tooling dependencies | |
| run: npm audit --audit-level=moderate | |
| - name: Setup Python ${{ matrix.python }} | |
| uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 | |
| with: | |
| version: "0.11.3" | |
| checksum: c0f3236f146e55472663cfbcc9be3042a9f1092275bbe3fe2a56a6cbfd3da5ce | |
| enable-cache: true | |
| - name: Install project + dev deps | |
| run: uv sync --locked --all-extras | |
| - name: Ruff lint | |
| run: uv run ruff check | |
| - name: Ruff format check | |
| run: uv run ruff format --check | |
| - name: Unit tests | |
| run: uv run pytest tests/test_http_client.py src/archastro/phx_channel/tests/test_unit.py | |
| - name: Harness-client integration tests | |
| run: uv run pytest tests/harness | |
| - name: Contract tests (REST + channels over real harness subprocess) | |
| run: uv run pytest tests/contract | |
| env: | |
| ARCHASTRO_RUN_CHANNEL_CONTRACT_TESTS: "1" | |
| - name: Build and import wheel | |
| run: | | |
| rm -rf dist | |
| uv build --no-build-isolation | |
| uv export --locked --no-dev --no-emit-project --format requirements.txt --output-file dist/runtime-requirements.txt >/dev/null | |
| uv venv --clear .wheel-smoke | |
| uv pip install --python .wheel-smoke --require-hashes -r dist/runtime-requirements.txt | |
| uv pip install --python .wheel-smoke --no-deps dist/*.whl | |
| .wheel-smoke/bin/python -c "import archastro.platform; import archastro.phx_channel" |