Repository navigation
feat: affected flows, evidence bundles and webhook notifications - #5
Merged
Merged
Conversation
`lest affected --base <ref>` lists the flows a change touches (affects globs, the flow file itself, and callers of affected flows). `lest bundle` zips a run's report and artifacts with a manifest of checksums. Projects can notify webhooks after a run, as a JSON summary or a Slack-compatible message.
Member
Author
|
A review found 14 issues. Dispositions:
|
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
Three CLI capabilities for running Lest in CI, documented in the new
docs/ci.md:lest affected --base <ref>lists the flows a change touches. A flow counts when a changed file matches itsaffects:globs, when its own file changed, or when it calls an affected flow, so suites are included. Changes are taken from the merge base, plus staged, unstaged and untracked files, with paths relative to the project root.--idprints ids for scripts.lest bundle <run> -o evidence.zipzips the run's report and artifacts with amanifest.jsonthat lists every file's SHA-256.notify:inlest.yaml, sent on failed, passed or always. The format is ajsonsummary or aslackincoming-webhook message. The URL can reference secrets. Notifications go out after the report is written and time out after 10s. They never print the URL, and each one emits anotifiedevent that the CLI shows.Evidence
make checkpasses. A new runner test,failed_runs_notify_webhooks_with_a_summary, posts to a local listener and checks three things: the secret inside the webhook URL is resolved, the summary carries the failing step's headline, and the event never includes the URL.Dogfooded against the examples. After touching
app/server.mjs:lest bundleon aplants-apirun wrote a zip containingreport.json, the service log andmanifest.json.