Skip to content

fix(desktop): settings panels render (model/options, auxiliary, config/schema REST) #144

fix(desktop): settings panels render (model/options, auxiliary, config/schema REST)

fix(desktop): settings panels render (model/options, auxiliary, config/schema REST) #144

Workflow file for this run

name: Python Tests
on:
pull_request:
branches:
- main
# Cancel superseded runs for the same PR (or the same manual run).
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
# Test results are published by the separate "Test Results" workflow
# (triggered via workflow_run) so PRs from forks/Dependabot — which get a
# read-only GITHUB_TOKEN here — still get results published. See
# .github/workflows/test-results.yml and:
# https://github.com/EnricoMi/publish-unit-test-result-action#support-fork-repositories-and-dependabot-branches
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.11']
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.dev.txt
- name: Run tests
run: |
pytest tests/ \
--junitxml=test-results/test-results.xml
- name: Upload test results
if: (!cancelled())
uses: actions/upload-artifact@v4
with:
name: Test Results (${{ matrix.python-version }})
path: test-results/*.xml
retention-days: 3
harbor-adapter:
# The harbor eval adapter (eval/harbor/clawcodex_agent.py) cannot be
# imported by the 3.11 job above: it uses `typing.override` (3.12+) and
# imports `harbor.*`, which is not a repo dependency. So its tests SKIP
# there — including the guard on a real defect that shipped in #789, where
# the adapter reported a fabricated `num_turns: 0` for exactly the killed
# trials it was added to measure. A guard nobody executes is a comment, so
# this job runs them on the interpreter the adapter actually runs on.
#
# `--isolated` is required, not tidiness: without it `uv run` treats the
# repo as a project and re-syncs the checkout's venv to 3.13.
name: "Harbor adapter (3.13)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Run adapter tests
# The harbor-dependent test files ALL belong here. They open with
# `pytest.importorskip("harbor")`, so in the main `test (3.11)` job —
# where harbor is not installed — they skip silently and a green tick
# says nothing about them. This job is the only place they can
# actually run, so a file omitted here is a file that never runs at
# all. Add new tests/test_harbor_*.py files to this list.
run: |
uv run --isolated --python 3.13 --with harbor --with pytest \
python -m pytest \
tests/test_headless_usage_events.py \
tests/test_harbor_adapter_fusion.py \
tests/test_harbor_adapter_advisor.py \
tests/test_harbor_adapter_vision.py \
-v
event_file:
name: "Event File"
runs-on: ubuntu-latest
steps:
- name: Upload
uses: actions/upload-artifact@v4
with:
name: Event File
path: ${{ github.event_path }}