Files
tracer-cloud--opensre/.github/workflows/interactive-shell-live.yml
T
wehub-resource-sync 4b6817381b
Benchmark image — build + push to ECR (any adapter) / build + push (push) Waiting to run
CI / quality (ubuntu-latest) (push) Waiting to run
CI / test (tools-runtime) (push) Waiting to run
CI / test (e2e-general) (push) Waiting to run
CI / test (cli-runtime) (push) Waiting to run
CI / test (e2e-provider-and-openclaw) (push) Waiting to run
CI / test (integrations-and-misc) (push) Waiting to run
CI / coverage-report (push) Blocked by required conditions
CI / test-kubernetes (push) Waiting to run
CI / should-run-thorough (push) Waiting to run
CI / test-thorough (cloudwatch-demo) (push) Blocked by required conditions
CI / test-thorough (flink-ecs) (push) Blocked by required conditions
CI / test-thorough (upstream-lambda) (push) Blocked by required conditions
CI / test-thorough (prefect-ecs-fargate) (push) Blocked by required conditions
CodeQL / Analyze (python) (push) Waiting to run
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Blocked by required conditions
Release / publish-release (push) Blocked by required conditions
Release / publish-main-release (push) Blocked by required conditions
Release / prepare (push) Waiting to run
Release / verify (push) Blocked by required conditions
Release / build-python-dist (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Blocked by required conditions
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Waiting to run
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Waiting to run
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Waiting to run
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:10:45 +08:00

161 lines
4.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Interactive Shell Live (PR + post-merge)
on:
pull_request:
branches: [main]
paths:
- "core/agent/**"
- "core/agent_harness/**"
- "tests/core/agent/**"
- "surfaces/interactive_shell/**"
- "core/runtime/**"
- "tools/**"
- "integrations/**"
- "pytest.ini"
- "pyproject.toml"
- "uv.lock"
- ".github/workflows/interactive-shell-live.yml"
push:
branches: [main]
paths:
- "core/agent/**"
- "core/agent_harness/**"
- "tests/core/agent/**"
- "surfaces/interactive_shell/**"
- "core/runtime/**"
- "tools/**"
- "integrations/**"
- "pytest.ini"
- "pyproject.toml"
- "uv.lock"
- ".github/workflows/interactive-shell-live.yml"
workflow_dispatch:
inputs:
shard_indexes:
description: "Comma-separated shard indexes to run (0-7)"
required: false
default: "0,1,2,3,4,5,6,7"
permissions:
contents: read
concurrency:
group: interactive-shell-live-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
turn-checks:
name: turn-checks (no-LLM)
runs-on: ubuntu-latest
timeout-minutes: 10
env:
OPENSRE_DISABLE_KEYRING: "1"
PYTHONUTF8: "1"
steps:
- uses: actions/checkout@v5
- name: Install uv
uses: astral-sh/setup-uv@v8.1.0
with:
enable-cache: true
cache-dependency-glob: |
pyproject.toml
uv.lock
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.13"
- name: Install dependencies
run: uv sync --frozen --extra dev
- name: Deterministic turn + fixture integrity
run: >-
uv run python -m pytest -n auto -v
tests/core/agent/
-m "not live_llm"
turn-live:
# Run on push to main, manual dispatch, and same-repo PRs. Fork PRs have no
# secrets, so they skip the live job (the no-LLM turn-checks job above
# still gates them) instead of failing the credential-validation step.
if: >-
github.repository == 'Tracer-Cloud/opensre' &&
(github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
name: turn-live shard ${{ matrix.shard_index }}
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
shard_index: ${{ fromJSON(github.event_name == 'workflow_dispatch' && format('[{0}]', github.event.inputs.shard_indexes) || '[0, 1, 2, 3, 4, 5, 6, 7]') }}
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
LLM_PROVIDER: openai
OPENSRE_DISABLE_KEYRING: "1"
TURN_SHARD_TOTAL: "8"
TURN_SHARD_INDEX: ${{ matrix.shard_index }}
PYTHONUTF8: "1"
# @live gather scenarios (316, 333335, 337) require these secrets in CI.
# Missing values fail the job in preflight and via skip_or_fail in tests.
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG_SLUG: tracer-30
SENTRY_PROJECT_SLUG: python
SENTRY_URL: https://sentry.io
DD_API_KEY: ${{ secrets.DD_API_KEY }}
DD_APP_KEY: ${{ secrets.DD_APP_KEY }}
DD_SITE: datadoghq.com
GRAFANA_READ_TOKEN: ${{ secrets.GRAFANA_READ_TOKEN }}
GRAFANA_INSTANCE_URL: ${{ secrets.GRAFANA_INSTANCE_URL }}
steps:
- uses: actions/checkout@v5
- name: Install uv
uses: astral-sh/setup-uv@v8.1.0
with:
enable-cache: true
cache-dependency-glob: |
pyproject.toml
uv.lock
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.13"
- name: Install dependencies
run: uv sync --frozen --extra dev
- name: Validate live turn credentials
run: |
missing=()
if [ -z "${OPENAI_API_KEY}" ]; then
missing+=(OPENAI_API_KEY)
fi
if [ -z "${SENTRY_AUTH_TOKEN}" ]; then
missing+=(SENTRY_AUTH_TOKEN)
fi
if [ -z "${DD_API_KEY}" ]; then
missing+=(DD_API_KEY)
fi
if [ -z "${DD_APP_KEY}" ]; then
missing+=(DD_APP_KEY)
fi
if [ ${#missing[@]} -gt 0 ]; then
echo "::error::Missing secrets for live turn tests: ${missing[*]}"
exit 1
fi
- name: Run sharded live turn suite
run: >-
uv run python -m pytest -n auto -v
-m live_llm
tests/core/agent/test_turn_scenarios.py
-k "test_live_turn_execution_oracle or test_live_action_planning"