Skip to content

feat(cli): emit canonical per-agent skills-install telemetry #935

feat(cli): emit canonical per-agent skills-install telemetry

feat(cli): emit canonical per-agent skills-install telemetry #935

Workflow file for this run

name: Regression tests
on:
pull_request:
branches: [main, master]
push:
branches: [main, master]
# Large transitive wheels (e.g. nvidia-*/torch via context-engine[all]) can
# exceed uv's default HTTP timeout on GitHub-hosted runners.
env:
UV_HTTP_TIMEOUT: "300"
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.14"
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "0.10.7"
- name: Set up Rust toolchain
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8
with:
toolchain: stable
- name: Install pre-commit
run: python -m pip install pre-commit==4.5.1
- name: Run pre-commit
run: pre-commit run --all-files --show-diff-on-failure
potpie-parsing:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.12", "3.13", "3.14"]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "0.10.7"
- name: Install dependencies
run: uv sync --frozen --all-packages --no-cache
- name: Run parsing_rs Rust tests
env:
PYO3_PYTHON: ${{ github.workspace }}/.venv/bin/python
run: cargo test --manifest-path potpie/parsing/Cargo.toml --no-default-features
- name: Check for Python package tests
working-directory: potpie/parsing
run: test ! -d tests || uv run --project . pytest tests
potpie-context-package:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.12", "3.13", "3.14"]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "0.10.7"
- name: Install dependencies
run: uv sync --frozen --all-packages --no-cache
- name: Build root and Context Engine distributions
run: |
uv build --out-dir dist/root
uv build --project potpie/context-engine --out-dir dist/context-engine
- name: Verify isolated Context Engine installation
run: |
uv venv .context-engine-package
uv pip install --python .context-engine-package/bin/python dist/context-engine/*.whl
.context-engine-package/bin/python scripts/verify_context_package_isolation.py
- name: Verify isolated root installation
run: |
uv venv .root-package
uv pip install --python .root-package/bin/python dist/context-engine/*.whl dist/root/*.whl
.root-package/bin/python scripts/verify_context_package_isolation.py --expect-root
potpie-root:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.12", "3.13", "3.14"]
services:
postgres:
image: postgres:15
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U postgres"
--health-interval 5s
--health-timeout 5s
--health-retries 5
redis:
image: redis:7
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 5s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "0.10.7"
- name: Install dependencies
run: uv sync --frozen --all-packages --no-cache
- name: Run root Potpie tests
env:
POSTGRES_SERVER: "postgresql://postgres:postgres@localhost:5432/postgres"
ENV: "development"
run: uv run pytest tests -m "not premerge_journey"
potpie-context-engine:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.12", "3.13", "3.14"]
services:
postgres:
image: postgres:15
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U postgres"
--health-interval 5s
--health-timeout 5s
--health-retries 5
redis:
image: redis:7
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 5s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "0.10.7"
- name: Install dependencies
run: uv sync --frozen --all-packages --no-cache
- name: Run context-engine package tests
working-directory: potpie/context-engine
env:
POSTGRES_SERVER: "postgresql://postgres:postgres@localhost:5432/postgres"
ENV: "development"
run: uv run --project . pytest tests -m "not premerge_journey"
premerge-cli-journey:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
# Journey subprocess budgets sum to ~670s, plus checkout/toolchain/uv sync
# and workflow UV_HTTP_TIMEOUT=300 on large wheel fetches.
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "0.10.7"
- name: Set up Rust toolchain
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8
with:
toolchain: stable
- name: Install dependencies
run: uv sync --frozen --all-packages --no-cache
- name: Run pre-merge CLI journey test
env:
PREMERGE_JOURNEY_REQUIRED: "1"
run: uv run pytest tests/integration/test_premerge_cli_journey.py -v
potpie-sandbox:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.12", "3.13", "3.14"]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "0.10.7"
- name: Install dependencies
run: uv sync --frozen --all-packages --no-cache
- name: Run sandbox unit tests
working-directory: potpie/sandbox
run: uv run --project . --extra daytona pytest tests/unit
- name: Run sandbox local integration tests
working-directory: potpie/sandbox
run: uv run --project . --extra daytona pytest tests/integration/test_docker_runtime.py tests/e2e/test_local_subprocess_e2e.py