fix(pinact): ensure latest resolves latest GitHub release#118
Merged
ReenigneArcher merged 5 commits intomasterfrom Feb 12, 2026
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #118 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 7 7
Lines 1301 1346 +45
Branches 137 138 +1
=========================================
+ Hits 1301 1346 +45
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
a2ea232 to
a27d336
Compare
Replace many shell-based execSync calls with execFileSync and introduce safety measures to prevent command injection and improve cross-platform reliability. Adds validateSafeString to validate inputs (tags, repo names, versions), findExecutable (with caching) to locate git/go executables, and uses explicit argument arrays when invoking git/go/pinact. Also validates GitHub API tag_name, tightens error handling/cleanup during build-from-source, and avoids interpolating secrets into logged strings. Tests updated to mock execFileSync, adapt assertions, and cover new failure modes and validation behaviors.
Change go install to use the module path with version (github.com/<repo>@<version>) and pass '/cmd/pinact' as the package to install. Update tests to match the new install invocation and to improve the execFileSync mock: handle pinact execution first, extract helpers for go and git command handling (handleGoCommand, handleGitCommand, handleGitDiff), use optional chaining in call filters, and adjust assertions to the new install argument ordering. These changes align installation with Go modules and make tests clearer and more robust.
Remove conditional go install path and always clone & build the pinact repository for reliability (avoids module path/version issues). Adjust install logic to clone the repo, checkout the requested version, run local go install, and clean up the temp dir. Update tests to expect git clone/checkout and local go install calls, account for multiple clone calls when checking for token usage, and change the error-handling test to use a pinact-related error fixture.
Add a new pinactConfig input to actions/pinact/ci-matrix.json. The input embeds a YAML pinact config (version: 3) that ignores actions matching "LizardByte/.*" with ref "master" and sets a custom separator. This allows passing pinact configuration inline to the workflow to exclude the specified actions.
6128751 to
7788d2b
Compare
|
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.



Description
When latest was specified it would use v1.6.0 instead of the actual latest version. This PR will use the github api to determine the latest version.
Screenshot
Issues Fixed or Closed
Roadmap Issues
Type of Change
Checklist
AI Usage