fix(ci): set +e before pr-file-overlap-check so warning doesn't hard-fail#321
Merged
Merged
Conversation
…fail PR #320 surfaced this: the workflow's run-block uses `bash -e` by default. The node script intentionally exits 2 when it detects critical-file overlap with another open PR (warn-only, per AGENTS.md § Bug class critical-file-parallel-pr-overlap). But `set -e` aborts the run block on the exit-2 immediately, so the trailing `EXIT_CODE=$?` + `exit 0` lines never run. Workflow reports failure even though the script's intent was to annotate the PR with a warning comment. Fix: prepend `set +e` at the top of the run block so exit-2 from the node call is captured into EXIT_CODE instead of aborting the script. The trailing `exit 0` then fires correctly, the github-script step still posts the warning comment when overlap is detected, and CI reports pass-with-warning instead of fail. Verification: - PR #320 (touches scripts/build-dashboard.mjs) + PR #319 (touches the same file) WILL produce an overlap warning under this fix — that's the intended behavior. The check will pass + post a warning comment. Surfaced via task-audit 2026-05-29 Theme-2 F104 ship. Bucket-A auto-merge per locked Q4 (workflows are NOT production-surface). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
mitwilli-create
pushed a commit
that referenced
this pull request
May 29, 2026
mitwilli-create
added a commit
that referenced
this pull request
May 29, 2026
* fix(dashboard): pulse per-row Deep Refresh button while firing [skip-ui-verify] Closes F104 audit ask (2026-05-26 session #8400a912b8e8: "i need assurance that this is taking place, progressing"). Tight-ship scope locked via interview: leverage existing modal SSE + auto-reload infrastructure; add ONLY the visual hook on the per-row button itself. 5 surgical edits to scripts/build-dashboard.mjs: 1. CSS keyframes for `.dcard-btn.drm-firing` (box-shadow pulse, 1.4s ease-in-out) + prefers-reduced-motion opt-out for accessibility 2. openDeepRefreshModal: track the trigger button on window._drmState.firingBtn 3. confirmDeepRefresh: adds `drm-firing` class to the firingBtn on confirm 4. confirmDeepRefresh catch block: removes class on launch fail (retry-friendly) 5. closeDeepRefreshModal: removes class on user-cancel / close-while-firing Successful-refresh path needs no manual cleanup: _drmRebuildAndReload calls location.reload() which resets the class via full page reload. [skip-ui-verify]: CSS-class-only change with zero idle impact (class never attaches without user click + modal confirm). Verification via: - node scripts/build-dashboard.mjs: clean (9 inline scripts parsed) - curl -s https://staging-dashboard.careers-ops.com/ | grep -oc 'drm-firing': 7 (4 CSS rules + 3 JS references) - Chrome MCP screenshot at 1440×900 (ss_6039m3j35) — dashboard renders clean - Full notes at .claude/audit/f104-deep-refresh-progress-2026-05-29/notes.md Production surface — DRAFT until Mitchell reviews. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * ci: re-trigger after #321 (set +e workflow fix) --------- Co-authored-by: Mitchell Williams <mitchellwilliams@Mitchells-MacBook-Air.local> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PR #320 surfaced this workflow bug. The `run` block uses `bash -e` by default. The `check-pr-file-overlap.mjs` script intentionally exits 2 when overlap is detected (warn-only, per AGENTS.md § Bug class critical-file-parallel-pr-overlap). But `set -e` aborts the script on exit-2 immediately, so the trailing `EXIT_CODE=$?` + `exit 0` never run → workflow reports failure even though the intent is a warning annotation.
Fix: prepend `set +e` at the top of the run block so exit-2 is captured into EXIT_CODE instead of aborting.
Why this only surfaced now
The previous round of PRs (#317, #318) didn't actually trigger overlap with any other open PR on a critical file. PR #320 (touches scripts/build-dashboard.mjs) overlaps with PR #319 (also touches scripts/build-dashboard.mjs), which IS in `data/conflict-prevention-critical-files.json`. First time the warn-path actually ran.
What changes
7 lines added (5 explanatory comment + 1 `set +e` + 1 empty line) to `.github/workflows/pr-file-overlap-check.yml`. No other files.
Test plan
Surfaced via task-audit 2026-05-29 Theme-2 F104 ship. Bucket-A auto-merge per locked Q4 (workflows are NOT production-surface).
🤖 Generated with Claude Code