Replace S1–S5 e2e eval with agent-semantic@v2 replay and L3 ablation. #12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Copyright 2026 The Actordock Authors. | |
| # SPDX-License-Identifier: Apache-2.0 | |
| name: e2e-kind | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| jobs: | |
| unit: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.24.x" | |
| - name: Test | |
| run: go test ./... | |
| e2e-functional: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.24.x" | |
| - name: Install kind | |
| run: | | |
| curl -fsSL -o ./kind "https://kind.sigs.k8s.io/dl/v0.27.0/kind-linux-amd64" | |
| chmod +x ./kind | |
| sudo mv ./kind /usr/local/bin/kind | |
| - name: Create cluster and deploy | |
| env: | |
| KIND_CLUSTER_NAME: actordock-functional | |
| POLICY: semantic-score | |
| run: | | |
| chmod +x hack/*.sh | |
| ./hack/kind-up.sh | |
| - name: Functional e2e (all four policies via SetPolicy) | |
| env: | |
| KIND_CLUSTER_NAME: actordock-functional | |
| E2E_SUITE: functional | |
| SANDBOX_COUNT: "5" | |
| MAX_RUNNING: "4" | |
| MIN_WORKERS: "2" | |
| run: ./hack/verify-local.sh | |
| - name: Dump on failure | |
| if: failure() | |
| run: | | |
| kubectl --context kind-actordock-functional -n actordock get pods -o wide || true | |
| kubectl --context kind-actordock-functional -n actordock describe pods || true | |
| kubectl --context kind-actordock-functional -n actordock logs deploy/controlplane --all-containers=true || true | |
| kubectl --context kind-actordock-functional -n actordock logs statefulset/worker --all-containers=true || true | |
| - name: Teardown | |
| if: always() | |
| env: | |
| KIND_CLUSTER_NAME: actordock-functional | |
| run: ./hack/kind-down.sh || true | |
| # agent-semantic@v2 ablation: random | resource-evict | semantic L1 | semantic L1+L3 | |
| e2e-eval: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 120 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.24.x" | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install kind | |
| run: | | |
| curl -fsSL -o ./kind "https://kind.sigs.k8s.io/dl/v0.27.0/kind-linux-amd64" | |
| chmod +x ./kind | |
| sudo mv ./kind /usr/local/bin/kind | |
| - name: Create cluster and deploy | |
| env: | |
| KIND_CLUSTER_NAME: actordock-eval | |
| POLICY: fifo | |
| run: | | |
| chmod +x hack/*.sh hack/replay-agent-semantic.py | |
| ./hack/kind-up.sh | |
| - name: Agent-semantic ablation (8 agents / 2 workers) | |
| env: | |
| KIND_CLUSTER_NAME: actordock-eval | |
| E2E_SUITE: agent-semantic | |
| ACTORDOCK_API: http://127.0.0.1:18080 | |
| EVAL_OUT_DIR: docs/eval/results | |
| AGENT_SEMANTIC_LIMIT: "8" | |
| AGENT_SEMANTIC_INFLIGHT: "8" | |
| AGENT_SEMANTIC_MIN_WORKERS: "2" | |
| AGENT_SEMANTIC_SPEED: "60" | |
| AGENT_SEMANTIC_MIN_LOCK: "0.25" | |
| AGENT_SEMANTIC_POLICIES: "random,resource-evict,semantic-score-l1,semantic-score" | |
| run: ./hack/verify-local.sh | |
| - name: Upload agent-semantic results | |
| if: success() || failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: agent-semantic-policy-compare | |
| path: | | |
| docs/eval/results/policy_compare_agent_semantic_v2.md | |
| docs/eval/results/agent_semantic_v2__*.json | |
| if-no-files-found: warn | |
| - name: Dump on failure | |
| if: failure() | |
| run: | | |
| kubectl --context kind-actordock-eval -n actordock get pods -o wide || true | |
| kubectl --context kind-actordock-eval -n actordock describe pods || true | |
| kubectl --context kind-actordock-eval -n actordock logs deploy/controlplane --all-containers=true || true | |
| kubectl --context kind-actordock-eval -n actordock logs statefulset/worker --all-containers=true || true | |
| - name: Teardown | |
| if: always() | |
| env: | |
| KIND_CLUSTER_NAME: actordock-eval | |
| run: ./hack/kind-down.sh || true |