feat: close production trust and operations gates
Build and Test Quality Gate / Contract Web typecheck and build (pull_request) Successful in 7m28s
Build and Test Quality Gate / Python tests and Contract API migration (pull_request) Failing after 26m12s
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Successful in 6m33s

This commit is contained in:
2026-08-12 12:58:10 +08:00
parent 28e4ddbfdf
commit ce7e040e98
19 changed files with 2142 additions and 23 deletions
@@ -33,6 +33,10 @@ on:
description: "Maximum revocation or kill-switch propagation SLA"
required: false
default: "300"
max_observation_age_seconds:
description: "Maximum accepted age of each no-cache readiness response"
required: false
default: "120"
permissions:
contents: read
@@ -65,6 +69,7 @@ jobs:
EXPECTED_KEY_ID: ${{ inputs.expected_key_id }}
EXPECTED_IMAGE_DIGEST: ${{ inputs.expected_image_digest }}
PROPAGATION_DEADLINE_SECONDS: ${{ inputs.propagation_deadline_seconds }}
MAX_OBSERVATION_AGE_SECONDS: ${{ inputs.max_observation_age_seconds }}
run: |
set -euo pipefail
umask 077
@@ -76,6 +81,7 @@ jobs:
--node "$NODE_A"
--node "$NODE_B"
--service-key-file .promotion-control-private/service-key
--max-observation-age-seconds "$MAX_OBSERVATION_AGE_SECONDS"
)
if [ "$MODE" = "canary" ]; then
args+=(