refactor(scripts): move CI helpers out of scripts/ci-guards/

The 'Regression guards' loop step in ci.yml runs:
    for g in scripts/ci-guards/*.sh; do bash "$g"; done

Per the directory's own contract (scripts/ci-guards/README.md), every
script there MUST be runnable bare with no args / no env. Three files
violated that contract — they're helpers consumed by specific CI job
steps with arguments, not regression guards. They were misplaced.

Moved (git mv):
  scripts/ci-guards/vendor-e2e-skip-check.sh         → scripts/
  scripts/ci-guards/vendor-e2e-skip-allowlist.txt    → scripts/
  scripts/ci-guards/coverage-pr-comment.sh           → scripts/

Updated ci.yml call sites:
  - deploy-vendor-e2e job: bash scripts/vendor-e2e-skip-check.sh $LOG
  - go-build-and-test job: bash scripts/coverage-pr-comment.sh

Tightened scripts/vendor-e2e-skip-check.sh arg parse from a silent
default ('LOG=${1:-test-output.log}') to a mandatory-arg form
('LOG=${1:?usage: ...}') so misuse fails loud at parse time rather
than at the missing-file check.

Updated scripts/ci-guards/README.md contract to spell out the
guard-vs-helper distinction explicitly; lists current helpers under
scripts/ for future-author guidance.

Verified locally: 'for g in scripts/ci-guards/*.sh; do bash $g; done'
returns clean (22 guards pass) on HEAD post-move.

Closes the regression-guards-loop failure that surfaced in CI run
25192163943 (job 73864471346 'Frontend Build').
This commit is contained in:
shankar0123
2026-04-30 22:37:12 +00:00
parent 7cb453a336
commit 7b8cadcd02
5 changed files with 44 additions and 12 deletions
+40
View File
@@ -0,0 +1,40 @@
# scripts/vendor-e2e-skip-allowlist.txt
#
# Test names that are EXPECTED to skip on Linux ubuntu-latest CI runners.
# Each entry: one Go test function name per line. Lines starting with `#`
# are comments / ignored. Blank lines ignored.
#
# Per ci-pipeline-cleanup bundle Phase 5 / frozen decision 0.6.
# The skip-detection guard (in the deploy-vendor-e2e job) counts
# `^--- SKIP:` lines from the test output and fails the build if it
# exceeds the count of unique entries in this allowlist.
#
# When a sidecar fails to start, the affected tests' requireSidecar() call
# triggers t.Skipf() — those skips are NOT in this allowlist and surface
# as a build failure.
# Windows-only tests that legitimately skip on Linux because the
# windows-iis-test sidecar is gated by `profiles: [deploy-e2e-windows]`
# and CI runs only the `deploy-e2e` profile (per ci-pipeline-cleanup
# Phase 6 frozen decision 0.5 — Windows matrix deletion). Operators
# validate these via `docs/connector-iis.md::Operator validation playbook`
# on a real Windows host.
# IIS connector (10 tests; require windows-iis sidecar)
TestVendorEdge_IIS_ARRReverseProxyCertRotation_E2E
TestVendorEdge_IIS_AppPoolRecycle_OptInForCertChange_E2E
TestVendorEdge_IIS_BindingTypeHttpsValidated_E2E
TestVendorEdge_IIS_CCSCentralizedCertStoreVariant_DeployToSharedStore_E2E
TestVendorEdge_IIS_FriendlyNameUpdatedOnRotation_E2E
TestVendorEdge_IIS_HTTP2ALPNPreserved_E2E
TestVendorEdge_IIS_RemovePreviousBindingOnRotate_E2E
TestVendorEdge_IIS_SNIMultiBindingPerSite_DeployUpdatesCorrectBinding_E2E
TestVendorEdge_IIS_WinRMRemotePath_vs_LocalPowerShellPath_BothWork_E2E
# WinCertStore connector (6 tests; require windows-iis sidecar)
TestVendorEdge_WinCertStore_CertStoreACL_IISIUSRSAccess_E2E
TestVendorEdge_WinCertStore_CertStoreACL_NetworkServiceAccess_E2E
TestVendorEdge_WinCertStore_PrivateKeyExportableFlag_E2E
TestVendorEdge_WinCertStore_RemovePreviousThumbprintOnRotate_E2E
TestVendorEdge_WinCertStore_StoreLocationLocalMachineVsCurrentUser_E2E
TestVendorEdge_WinCertStore_ThumbprintBindingVsFriendlyNameBinding_E2E