Don't ping production healthchecks.io monitors from PR CI runs - #141
Merged
Conversation
Issue #140 was a false alarm: a fork PR (#139) failed auth as expected because GitHub withholds repo secrets from fork PR runs, but the pipeline step always wrapped runs in runitor with production UUIDs. That reported the expected failure to healthchecks.io, which auto-filed a DOWN alert. Only install and invoke runitor for non-pull_request events (schedule, workflow_dispatch, push). PR runs call the pipeline directly so they can fail without touching production monitoring. Co-authored-by: Edmund Miller <edmundmiller@users.noreply.github.com>
Address review comments on #141: - Hoist the PR/non-PR condition into a job-level USE_RUNITOR env so the install-step gate and the run-step branch share one source of truth. - Pass matrix.pipeline/matrix.uuid through env and quote them in the shell instead of interpolating ${{ }} directly into the script body.
- concurrent_skipping: always meant a PR run racing a push run got skipped
entirely, so the pipeline job never ran and the PR showed a vacuous green.
outdated_runs only skips runs superseded by a newer commit.
- regulatory_report.yml was comments-only, which GitHub cannot parse
('workflow is empty') and failed on every push. Converted to .md notes.
edmundmiller
marked this pull request as ready for review
August 18, 2026 19:44
edmundmiller
added a commit
that referenced
this pull request
Aug 18, 2026
Address review comments on #141: - Hoist the PR/non-PR condition into a job-level USE_RUNITOR env so the install-step gate and the run-step branch share one source of truth. - Pass matrix.pipeline/matrix.uuid through env and quote them in the shell instead of interpolating ${{ }} directly into the script body.
4 tasks
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.
Fixes #140
Problem
Issue #140 reported the Slack Stats Pipeline as DOWN, but production was healthy. The alert came from CI on fork PR #139, where GitHub withholds repo secrets by design. The Slack/GitHub auth calls failed as expected, but
.github/workflows/run_pipelines.ymlwrapped every pipeline run inrunitor -uuid <production-uuid> -- ...regardless of event type. That sent the expected PR failure straight to the production healthchecks.io monitor, which auto-filed the false DOWN issue.Fix
runitoronpull_requestevents--destination duckdb) without going through runitorThis prevents fork PR CI failures from triggering production pipeline-down alerts while preserving monitoring for real scheduled runs.