Skip to content

feat(client): harden outbound Basic Auth support #356

feat(client): harden outbound Basic Auth support

feat(client): harden outbound Basic Auth support #356

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
jobs:
quality-gate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Setup uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: false
- name: Sync Dependencies
run: uv sync --all-extras --frozen
- name: Run pre-commit
run: bash ./scripts/lint.sh
- name: Run pytest
run: uv run pytest
- name: Enforce coverage policy
run: uv run python ./scripts/check_coverage.py
- name: Export runtime requirements for vulnerability audit
run: >
uv export --format requirements.txt --no-dev --locked --no-emit-project
--output-file /tmp/runtime-requirements.txt >/dev/null
- name: Run runtime dependency vulnerability audit
run: uv run pip-audit --requirement /tmp/runtime-requirements.txt
- name: Clean previous build artifacts
run: rm -rf build dist
- name: Build package artifacts
run: uv build --no-sources
- name: Smoke test built wheel
run: bash ./scripts/smoke_test_built_cli.sh dist/opencode_a2a-*.whl
- name: Smoke test built sdist
run: bash ./scripts/smoke_test_built_cli.sh dist/opencode_a2a-*.tar.gz
runtime-matrix:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12"]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: false
- name: Sync Dependencies
run: uv sync --all-extras --frozen
- name: Run pytest runtime matrix
run: uv run pytest --no-cov