exhyperv: Update to version 1.4.2, fix autoupdate, add arm64 support#17460
exhyperv: Update to version 1.4.2, fix autoupdate, add arm64 support#17460Kookiejarz wants to merge 3 commits into
Conversation
WalkthroughManifest Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Your changes did not pass all checks. Please address the issues in the manifest and comment starting with exhyperv
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
bucket/exhyperv.json (1)
25-26: Tighten thecheckverregex to enforce valid semantic versioning.The current pattern
tag/V([\\d.]+)is overly broad—its character class[\\d.]can match invalid sequences likeV1...2orV.1.2. The proposed pattern enforces proper semantic versioning (digits separated by single dots), adds the fullreleases/tag/path for specificity, and anchors with$to prevent partial matches.Suggested change
"checkver": { "github": "https://github.com/Justsenger/ExHyperV", - "regex": "tag/V([\\d.]+)" + "regex": "releases/tag/V([\\d]+(?:\\.[\\d]+)*)$" },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@bucket/exhyperv.json` around lines 25 - 26, The current "regex" value is too permissive; update the "regex" entry (the key named "regex" in this JSON block) to match the full releases/tag/ path and a strict semantic version pattern (digits separated by single dots) and anchor it with $ so only valid versions like V1.2.3 match; replace the existing "regex": "tag/V([\\d.]+)" with a pattern that includes "releases/tag/" and captures a semantic version (e.g., V followed by \d+(?:\.\d+)*) and ends with $ to prevent partial matches.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@bucket/exhyperv.json`:
- Line 38: The file ends with a closing brace '}' with no trailing newline which
triggers lint failures; add a single newline character at the end of the file
(after the final '}') so the file ends with a newline (restore the conventional
EOF newline).
---
Nitpick comments:
In `@bucket/exhyperv.json`:
- Around line 25-26: The current "regex" value is too permissive; update the
"regex" entry (the key named "regex" in this JSON block) to match the full
releases/tag/ path and a strict semantic version pattern (digits separated by
single dots) and anchor it with $ so only valid versions like V1.2.3 match;
replace the existing "regex": "tag/V([\\d.]+)" with a pattern that includes
"releases/tag/" and captures a semantic version (e.g., V followed by
\d+(?:\.\d+)*) and ends with $ to prevent partial matches.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: bd47176f-45f5-4de0-9ef7-e8cdae5c3af1
📒 Files selected for processing (1)
bucket/exhyperv.json
|
/verify |
|
All changes look good. Wait for review from human collaborators. exhyperv
|
| "suggest": { | ||
| ".NET Desktop Runtime 8.0": "versions/windowsdesktop-runtime-8.0" | ||
| }, |
There was a problem hiding this comment.
Could you explain the reasoning behind this change?
ScoopInstaller/Scoop#6378 (comment)
VCRedist / .NET Runtime related
When they are suggested by manifest, it means that the app requires them. You can install them any way you want, not limited to Scoop
| "pre_install": [ | ||
| "if (-not (Test-Path -LiteralPath \"$persist_dir\\Config.xml\" -PathType Leaf)) {", | ||
| " Set-Content -Path \"$dir\\Config.xml\" -Value '<?xml version=\"1.0\" encoding=\"utf-8\"?><Config/>' -Encoding UTF8", | ||
| "}" | ||
| ], |
| "url": "https://api.github.com/repos/Justsenger/ExHyperV/releases", | ||
| "jsonpath": "$[?(@.tag_name =~ /^v?[\\d.]+$/i)].tag_name", | ||
| "regex": "(?i)v?([\\d.]+)" |
There was a problem hiding this comment.
I believe the checkver logic is working correctly; the purpose here is to filter out beta releases.
| " Set-Content -Path \"$dir\\Config.xml\" -Value '<?xml version=\"1.0\" encoding=\"utf-8\"?><Config/>' -Encoding UTF8", | ||
| "}" | ||
| ], | ||
| "bin": "ExHyperV.exe", |
There was a problem hiding this comment.
https://github.com/ScoopInstaller/.github/blob/main/.github/CONTRIBUTING.md#for-scoop-buckets
If the program file is a GUI application and it doesn't accept any commandline arguments, no need to add it in bin.
|
Closing this in favor of the fix implemented in 75d5f53. |
Summary
The release asset naming convention in the upstream repository has changed (see Justsenger/ExHyperV#163). This PR updates the manifest to version 1.4.2 and fixes the broken
checkverandautoupdatelogic.Changes
Version Update: Update to v1.4.2.
Checkver Fix: Fixed the regex to handle the
Vprefix in Git tags.Autoupdate Fix: Updated URL patterns to match the new versioned asset filenames (e.g.,
ExHyperV_1.4.2_x64.zip).Testing: Successfully tested locally with
scoop install .\bucket\exhyperv.json.Use conventional PR title:
<manifest-name[@version]|chore>: <general summary of the pull request>I have read the Contributing Guide
Summary by CodeRabbit
New Features
Updates