test(agentcompat): lock Agent stress preparation

Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba>
This commit is contained in:
naiba
2026-07-20 14:16:31 +00:00
co-authored by naiba/CloudCode
parent 396a0fcb21
commit 8a0382478b
@@ -6,6 +6,7 @@ import (
"os"
"path/filepath"
"regexp"
"strings"
"testing"
"github.com/stretchr/testify/require"
@@ -32,7 +33,7 @@ func TestPolicy_AgentStressWorkflowRunsPinnedCrossRepositoryTest(t *testing.T) {
require.Equal(t, "Linux agent compatibility stress", stressJob.Name)
require.Equal(t, "ubuntu-24.04", stressJob.RunsOn)
require.Equal(t, 75, stressJob.TimeoutMinutes)
require.Len(t, stressJob.Steps, 6)
require.Len(t, stressJob.Steps, 7)
agentCheckout := stressJob.stepNamed(t, "Checkout Agent revision")
require.Equal(t, "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0", agentCheckout.Uses)
@@ -53,6 +54,16 @@ func TestPolicy_AgentStressWorkflowRunsPinnedCrossRepositoryTest(t *testing.T) {
require.Equal(t, "^1.26.1", setupGo.With.GoVersion)
require.False(t, *setupGo.With.Cache)
prepareDashboardInputs := stressJob.stepNamed(t, "Prepare Dashboard build inputs")
require.Equal(t, "nezha", prepareDashboardInputs.WorkingDirectory)
require.Equal(t, strings.Join([]string{
"go install github.com/swaggo/swag/cmd/swag@v1.16.6",
"mkdir -p cmd/dashboard/user-dist cmd/dashboard/admin-dist",
"printf 'placeholder\\n' > cmd/dashboard/user-dist/placeholder.txt",
"printf 'placeholder\\n' > cmd/dashboard/admin-dist/placeholder.txt",
"swag init --pd -d cmd/dashboard -g main.go -o cmd/dashboard/docs",
}, "\n"), strings.TrimSpace(prepareDashboardInputs.Run))
policyStep := stressJob.stepNamed(t, "Require Agent workflow policy tests")
require.Equal(t, "nezha", policyStep.WorkingDirectory)
require.Equal(t, "go test -mod=readonly -tags=agentcompat -list '^TestPolicy_AgentQualityWorkflow$' ./integration/agentcompat/internal/workflowpolicy | grep -Fx 'TestPolicy_AgentQualityWorkflow'\ngo test -mod=readonly -tags=agentcompat -list '^TestPolicy_AgentStressWorkflowRunsPinnedCrossRepositoryTest$' ./integration/agentcompat/internal/workflowpolicy | grep -Fx 'TestPolicy_AgentStressWorkflowRunsPinnedCrossRepositoryTest'\ngo test -mod=readonly -tags=agentcompat -run '^(TestPolicy_AgentQualityWorkflow|TestPolicy_AgentStressWorkflowRunsPinnedCrossRepositoryTest)$' -count=1 ./integration/agentcompat/internal/workflowpolicy\n", policyStep.Run)
@@ -66,4 +77,22 @@ func TestPolicy_AgentStressWorkflowRunsPinnedCrossRepositoryTest(t *testing.T) {
require.Equal(t, "${{ github.workspace }}/nezha", runStep.Env.AgentcompatNezhaSource)
require.Equal(t, "${{ github.workspace }}/agent", runStep.Env.AgentcompatAgentSource)
require.Equal(t, "go test -mod=readonly -tags=agentcompat -run '^"+agentWorkflowStressTestName+"$' -count=1 -v ./integration/agentcompat/internal/scenario", runStep.Run)
require.Equal(t, []string{
"Checkout Agent revision",
"Checkout pinned Nezha revision",
"Set up Go",
"Prepare Dashboard build inputs",
"Require Agent workflow policy tests",
"Require named stress test",
"Run PR-full agent compatibility stress",
}, stepNames(stressJob.Steps))
}
func stepNames(steps []qualityStep) []string {
names := make([]string, len(steps))
for index, step := range steps {
names[index] = step.Name
}
return names
}