Skip to content

Replace S1–S5 e2e eval with agent-semantic@v2 replay and L3 ablation. #12

Replace S1–S5 e2e eval with agent-semantic@v2 replay and L3 ablation.

Replace S1–S5 e2e eval with agent-semantic@v2 replay and L3 ablation. #12

Workflow file for this run

# 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