feat: add GitHub Actions init and PR annotations - #11
Merged
Conversation
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.
What changed
evidrift init --github-actionswith npm, pnpm, and Yarn detectionevidrift:checkpackage script--format jsonmachine-readable by writing annotations to stderr in JSON mode0.4.1Why
Repository setup previously required manual package-script and workflow edits, while CI failures were visible only in logs. This makes first adoption one command and surfaces deterministic drift directly in pull-request checks.
Validation
npm run verifynode scripts/verify-release.mjs v0.4.1git diff --checkThe local Windows run does not claim that the pending Linux/Node 22 GitHub Actions matrix or a live GitHub annotation has passed.
Trust impact
The initializer rejects unsafe workflow paths and never overwrites conflicting user-owned configuration. GitHub workflow command properties and data are escaped; JSON stdout remains a standalone machine-readable report. ReproMin and Receipt semantics are unchanged.