Add end-to-end integration tests that exercise the full agent turn cycle through the public API using mock providers and tools: - Simple text response (no tools) - Single tool call → tool execution → final response - Multi-step tool chain - XML dispatcher path - Multi-turn conversation coherence - Unknown tool recovery - Parallel tool dispatch Add CI workflow (.github/workflows/e2e.yml) that runs these tests on push to main and on PRs. Ref: https://github.com/zeroclaw-labs/zeroclaw/issues/618 (item 6) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
32 lines
905 B
YAML
32 lines
905 B
YAML
name: Integration / E2E Tests
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: e2e-${{ github.event.pull_request.number || github.sha }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
integration-tests:
|
|
name: Integration / E2E Tests
|
|
runs-on: blacksmith-2vcpu-ubuntu-2404
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
|
- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
|
|
with:
|
|
toolchain: 1.92.0
|
|
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
|
|
- name: Run integration / E2E tests
|
|
run: cargo test --test agent_e2e --locked --verbose
|