(chore): Update to latest version, fix checkver/autoupdate logic#18087
(chore): Update to latest version, fix checkver/autoupdate logic#18087SorYoshino wants to merge 2 commits into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughFourteen Scoop bucket manifest JSON files are updated. Nine manifests receive version bumps with corresponding download URL and hash replacements (ani-cli 4.14, clementine 1.4.1-78-gb55eca391, cyberchef v11.2.0, heidisql 12.18, iographica 2.0.2, effekseer 1.80.5, debugviewpp 1.2.0.0, electron-cash 4.4.5, keyguard 2.14.2-20260616). Across all fourteen files, Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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 |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (2)
bucket/cupscale.json (1)
23-32: ⚡ Quick winMake version extraction explicit in
checkverto avoid capture-order ambiguity.The regex is optimized for
$matchTag/$matchName, but$versionis still implicit. Addingreplacemakes checkver behavior deterministic and keepsextract_dirstable.Proposed refactor
- "regex": "(?i)download/(?<tag>[^/]+)/(?<name>Cupscale\\.?([\\w.]+)\\.zip)" + "regex": "(?i)download/(?<tag>[^/]+)/(?<name>Cupscale\\.?([\\w.]+)\\.zip)", + "replace": "$3"Please verify with
.\bin\checkver.ps1 -App cupscale -fthat the resolved version matches the intended manifest version format.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@bucket/cupscale.json` around lines 23 - 32, The checkver section in the cupscale.json manifest currently lacks an explicit version extraction specification, relying instead on implicit capture-order matching which can cause ambiguity. In the checkver block, add a replace field that explicitly defines how to extract the version from the regex match groups. Use the named capture groups from the regex pattern (specifically the tag and name groups) to construct a deterministic version string that matches what is used in the extract_dir field (which currently references $version). This ensures the version extraction is deterministic and the extract_dir pattern remains stable. After making this change, verify it works correctly by running the checkver PowerShell script with the app name as instructed in the comment.bucket/keyguard.json (1)
22-27: Run the local Scoop validation flow for the touched manifests before merge.Suggested commands:
scoop config debug truescoop config gh_token <your-github-token>.\bin\checkver.ps1 -App <manifest-name> -f.\bin\formatjson.ps1 -App <manifest-name>scoop install <manifest-path> -a <architecture>References:
- https://github.com/ScoopInstaller/.github/blob/main/.github/CONTRIBUTING.md
- https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests
As per coding guidelines, "Provide clear instructions for testing the manifest locally before submission" and "always provide a link to the official contribution guide or wiki."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@bucket/keyguard.json` around lines 22 - 27, The manifest changes in the keyguard.json file require local validation before merging to ensure the version checking and installation functionality work correctly. Configure Scoop debug mode and GitHub token authentication, then run the checkver validation script against the keyguard manifest to verify the version detection regex and JSON path work as expected, followed by the formatjson validation to ensure proper JSON formatting, and finally test local installation using the modified manifest path with the appropriate architecture flag to confirm the manifest functions correctly end-to-end.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@bucket/electron-cash.json`:
- Line 25: In the electron-cash.json manifest file, the
autoupdate.architecture.64bit.url on line 25 hardcodes the version number
"4.4.5" in the filename Electron-Cash-4.4.5-x86_64-portable.exe. Replace the
hardcoded "4.4.5" with the $version variable placeholder so that future version
bumps automatically reflect the correct filename. Change
Electron-Cash-4.4.5-x86_64-portable.exe to
Electron-Cash-$version-x86_64-portable.exe in the autoupdate URL string.
In `@bucket/klogg.json`:
- Around line 25-35: The checkver.regex pattern in the klogg.json file contains
two capture groups but lacks a replace directive to specify which group should
be used as the version. Without this directive, Scoop will use the entire
matched string instead of just the version number. Add a replace directive in
the checkver section that references the second unnamed capture group containing
the version pattern [\\d.]+ to ensure autoupdate correctly extracts and uses
only the full package version (like 22.06.0.1289) rather than the entire matched
string. Verify the fix using the provided checkver.ps1 command to confirm the
detected version matches the expected full asset version.
---
Nitpick comments:
In `@bucket/cupscale.json`:
- Around line 23-32: The checkver section in the cupscale.json manifest
currently lacks an explicit version extraction specification, relying instead on
implicit capture-order matching which can cause ambiguity. In the checkver
block, add a replace field that explicitly defines how to extract the version
from the regex match groups. Use the named capture groups from the regex pattern
(specifically the tag and name groups) to construct a deterministic version
string that matches what is used in the extract_dir field (which currently
references $version). This ensures the version extraction is deterministic and
the extract_dir pattern remains stable. After making this change, verify it
works correctly by running the checkver PowerShell script with the app name as
instructed in the comment.
In `@bucket/keyguard.json`:
- Around line 22-27: The manifest changes in the keyguard.json file require
local validation before merging to ensure the version checking and installation
functionality work correctly. Configure Scoop debug mode and GitHub token
authentication, then run the checkver validation script against the keyguard
manifest to verify the version detection regex and JSON path work as expected,
followed by the formatjson validation to ensure proper JSON formatting, and
finally test local installation using the modified manifest path with the
appropriate architecture flag to confirm the manifest functions correctly
end-to-end.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 600c5b2f-7e6b-4e69-8d31-cb71430b3511
📒 Files selected for processing (15)
bucket/ani-cli.jsonbucket/clementine.jsonbucket/cupscale.jsonbucket/cyberchef.jsonbucket/debugviewpp.jsonbucket/effekseer.jsonbucket/electron-cash.jsonbucket/heidisql.jsonbucket/iographica.jsonbucket/keyguard.jsonbucket/klogg.jsonbucket/kotatogram.jsonbucket/launchy.jsonbucket/maple.jsonbucket/memreduct.json
|
/verify |
|
All changes look good. Wait for review from human collaborators. ani-cli
clementine
cupscale
cyberchef
debugviewpp
effekseer
electron-cash
heidisql
iographica
keyguard
klogg
kotatogram
launchy
maple
memreduct
|
Summary
Updates multiple manifests to their latest versions and refactors their
checkverandautoupdateblocks to use modern JSONPath, robust regex matching, and$matchTag/$matchNamevariables to ensure reliable automated updates.Changes
ani-clito 4.14 (switch source URL to raw github tags)clementineto 1.4.1-78cyberchefto 11.2.0 (with custom asset 7z hash matching)debugviewppto 1.2.0.0effekseerto 1.80.5electron-cashto 4.4.5 (and restructure to64bitarchitecture)heidisqlto 12.18iographicato 2.0.2 (and switchcheckverto GitHub)keyguardto 2.14.2-20260616checkverwith GitHub API (jsonpathand specific asset filtering) forcupscale,cyberchef,debugviewpp,effekseer,keyguard,klogg, andmaple.^(?i)) and replace patterns inclementine,heidisql,kotatogram,launchy, andmemreduct.Notes
electron-cash, the portable executable has been properly nested inside thearchitecture.64bitblock to align with modern upstream releases.<tag>,<name>) where applicable to ensure Scoop'sautoupdatemechanism evaluates properly without losing fallback variables.<manifest-name[@version]|chore>: <general summary of the pull request>