Repository navigation
harness canary: post the verdict on the drift issue that dispatched the run - #51
Merged
Merged
Conversation
…he run
The drift scout dispatches harness-release with client_payload {harness, drift_issue, version, drift_kind, close_on_pass}. The workflow passes those through to canary-report.mjs, which comments on the drift issue in davidcrowe/gatewaystack-connect: a pass says safe to close and closes it (on by default for release drift, off for docs drift, close_on_pass:false overrides); a failure names the step and links the canary issue or run. Best effort: a drift-side failure never fails the reporter.
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.
Reporter side of the drift-scout pairing (gatewaystack-connect PR
feat/drift-canary-pairing). The drift scout dispatchesharness-releasewithclient_payload {harness, drift_issue, version, drift_kind, close_on_pass}when an upstream release signal of a harness/SDK moves.Workflow
.github/workflows/harness-canary.yml: both report steps (harness and sdk jobs) readclient_payload.drift_issue / version / drift_kind / close_on_passinto env and pass them to the reporter as--drift-issue,--drift-version,--drift-kind,--drift-close(each only when set, so scheduled and manual runs are unchanged). Header comment documents the pairing.Reporter
scripts/canary-report.mjs: the canary-issue logic is unchanged and now returns the canary issue URL; when--drift-issueis present it comments on that drift issue in davidcrowe/gatewaystack-connect:Canary <leg> on <version>: ✅ passed: safe to closeand closes the drift issue (state_reason: completed) when closing is on;Canary <leg> on <version>: ❌ failed at <step>: see <canary issue url>(run URL when no canary issue exists).Close-on-pass is an explicit option: default ON for
--drift-kind release(the only kind the scout dispatches today), OFF for--drift-kind docs;close_on_pass: falsein the payload /--drift-close offoverrides. Best effort: a drift-side failure is logged and never fails the reporter, so the canary issue stays the primary record.CANARY_ISSUES_TOKENalready covers the comment and close (same repo, Issues: read and write); no new secret here. The scout's dispatch credential (CANARY_DISPATCH_TOKEN) is documented in gatewaystack-connectdocs/drift-scout.md.Checks
npx --yes js-yaml .github/workflows/harness-canary.yml > /dev/null: oknode --check scripts/canary-report.mjs: ok--dry-runwith--drift-issue 1404: success -> comment + PATCH closed; failure with--drift-kind docs-> canary issue created + drift comment, no close.Docs:
docs/harness-canary.mdgains a Drift pairing section.