fix(ci/harness-replays): fetch base branch tip explicitly instead of full history
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 16s
CI / Detect changes (pull_request) Successful in 37s
E2E API Smoke Test / detect-changes (pull_request) Successful in 30s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 29s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 28s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 12s
Harness Replays / detect-changes (pull_request) Failing after 14s
Harness Replays / Harness Replays (pull_request) Has been skipped
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 28s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 41s
CI / Platform (Go) (pull_request) Successful in 13s
CI / Canvas (Next.js) (pull_request) Successful in 12s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 27s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 17s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 14s
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Failing after 5m5s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3m54s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Failing after 5m54s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Python Lint & Test (pull_request) Failing after 8m23s
Secret scan / Scan diff for credential-shaped strings (pull_request) Bypass infra#241: Pattern B CI state-propagation broken on c7e1642ffb/eda6b987a276 | verified: PR #441 is the FIX for the underlying detect-changes issue, content is mechanical fetch-depth step | retire: when actual CI state-propagation resumes OR within 24h
sop-tier-check / tier-check (pull_request) Bypass infra#241: Pattern B CI state-propagation broken on c7e1642ffb/eda6b987a276 | verified: PR #441 is the FIX for the underlying detect-changes issue, content is mechanical fetch-depth step | retire: when actual CI state-propagation resumes OR within 24h
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 16s
CI / Detect changes (pull_request) Successful in 37s
E2E API Smoke Test / detect-changes (pull_request) Successful in 30s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 29s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 28s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 12s
Harness Replays / detect-changes (pull_request) Failing after 14s
Harness Replays / Harness Replays (pull_request) Has been skipped
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 28s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 41s
CI / Platform (Go) (pull_request) Successful in 13s
CI / Canvas (Next.js) (pull_request) Successful in 12s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 27s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 17s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 14s
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Failing after 5m5s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3m54s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Failing after 5m54s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Python Lint & Test (pull_request) Failing after 8m23s
Secret scan / Scan diff for credential-shaped strings (pull_request) Bypass infra#241: Pattern B CI state-propagation broken on c7e1642ffb/eda6b987a276 | verified: PR #441 is the FIX for the underlying detect-changes issue, content is mechanical fetch-depth step | retire: when actual CI state-propagation resumes OR within 24h
sop-tier-check / tier-check (pull_request) Bypass infra#241: Pattern B CI state-propagation broken on c7e1642ffb/eda6b987a276 | verified: PR #441 is the FIX for the underlying detect-changes issue, content is mechanical fetch-depth step | retire: when actual CI state-propagation resumes OR within 24h
Previous attempt used fetch-depth:0 on actions/checkout, but the 75 MB repo full-history fetch times out on the operator-host runner network (github.com unreachable, apt mirrors ~3s timeout). A full history fetch also takes >1m18s even when it doesn't fail. New approach: keep default fetch-depth (PR head only), then explicitly `git fetch origin <base-ref> --depth=1` in a separate step. One cheap network round-trip for a single commit; the PR head is already checked out and the base branch tip is one commit — depth=1 is sufficient. Spotted during gate triage review (core-lead-agent, 2026-05-11). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
c7e1642ffb
commit
eda6b987a2
@ -68,17 +68,18 @@ jobs:
|
||||
run: ${{ steps.decide.outputs.run }}
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
# fetch-depth: 0 is required here. The step runs `git diff "$base_sha"
|
||||
# "$head_sha"` — if only the head commit is fetched (default
|
||||
# fetch-depth: 1), the base ref is not in the local history and
|
||||
# git diff fails silently (2>/dev/null), leaving DIFF empty, the
|
||||
# step exits non-zero, and detect-changes reports "failure" despite
|
||||
# continue-on-error: true. With fetch-depth: 0 the full history is
|
||||
# available so both refs exist locally. The PR head and the base
|
||||
# branch tip are always on the remote; full history is needed only
|
||||
# to make them accessible offline in the container.
|
||||
fetch-depth: 0
|
||||
- name: Fetch base branch tip for diff
|
||||
run: |
|
||||
# With the default fetch-depth: 1, actions/checkout only fetches the
|
||||
# PR head commit. The base branch tip (github.event.pull_request.base.sha)
|
||||
# is NOT in the local history, so `git diff "$BASE" "$GITHUB_SHA"` fails
|
||||
# because neither ref is fully resolved. Fetch only the base branch at
|
||||
# depth 1 — one cheap network round-trip, sufficient for diff.
|
||||
#
|
||||
# Do NOT use fetch-depth: 0 here — the repo is 75+ MB and a full history
|
||||
# fetch times out on the operator-host runner network (github.com unreachable,
|
||||
# ~3s timeout to apt mirrors). A single-commit fetch avoids that.
|
||||
git fetch origin "${{ github.event.pull_request.base.ref }}" --depth=1
|
||||
- id: decide
|
||||
run: |
|
||||
# workflow_dispatch: always run (manual trigger)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user