From c20a53cd8a58e4be4007bd33b66b5d9768bea596 Mon Sep 17 00:00:00 2001 From: chichuan Date: Mon, 24 Aug 2026 16:43:10 +0800 Subject: [PATCH] ci: extend Policy job timeout --- .github/workflows/ci.yml | 5 ++++- test/scripts/changelog_pr_gate_test.go | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index afe83eb3..e7565747 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1599,7 +1599,10 @@ jobs: name: Policy needs: lint runs-on: ubuntu-latest - timeout-minutes: 10 + # Full policy regenerates and validates the runtime Schema several times. + # Keep job-level headroom for large reviewed command-surface additions; + # individual policy gates retain their own fail-closed checks. + timeout-minutes: 15 steps: - name: Check out repository uses: actions/checkout@v4 diff --git a/test/scripts/changelog_pr_gate_test.go b/test/scripts/changelog_pr_gate_test.go index a71385b5..a787d307 100644 --- a/test/scripts/changelog_pr_gate_test.go +++ b/test/scripts/changelog_pr_gate_test.go @@ -1106,6 +1106,9 @@ func TestChangelogPRFastPathWorkflowContract(t *testing.T) { t.Fatal("Code Admission workflow missing Policy job boundaries") } policyJob := admission[policyStart:policyEnd] + if !strings.Contains(policyJob, "timeout-minutes: 15") { + t.Error("Policy job must retain enough headroom for full Schema policy validation") + } requirePolicyEnv := func(step, nextStep string) { t.Helper() start := strings.Index(policyJob, " - name: "+step+"\n")