-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[email protected]: Fix architecture, checkver #16848
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughA single app installer manifest file is refactored from a multi-architecture layout to a simplified single-URL model, with architecture-specific configuration removed and checkver/autoupdate schemas updated to use GitHub releases API. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ 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 |
|
All changes look good. Wait for review from human collaborators. nomeiryoui
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
bucket/nomeiryoui.json (1)
14-18: Consider simplifying the regex pattern.The checkver configuration correctly uses the GitHub API and works as described in the PR. However, the regex pattern captures the version number twice (once from
TAG-X.Y.Zand once fromnoMeiryoUIX.Y.Z), which is redundant.🔎 Optional simplification
Since both capture groups match the same version, you could simplify to:
- "regex": "download/TAG-([\\d.]+)/noMeiryoUI([\\d.]+)" + "regex": "download/TAG-([\\d.]+)/"This captures only the version from the tag, which is sufficient.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
bucket/nomeiryoui.json(1 hunks)
🧰 Additional context used
🧠 Learnings (5)
📓 Common learnings
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16349
File: bucket/fvim.json:45-49
Timestamp: 2025-10-16T15:59:21.258Z
Learning: In Scoop manifests, the `autoupdate.url` and `autoupdate.architecture.<arch>.url` fields must be valid URIs according to the JSON schema (defined with `"format": "uri"`). Variables like `$matchUrlx64` that contain only path segments must be combined with a base URL (e.g., `https://github.com/.../releases/download/`) to form a complete valid URI.
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds in recent versions uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format. This was confirmed by a working 10.0.0 update with valid hash.
📚 Learning: 2025-10-19T13:58:23.389Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.
Applied to files:
bucket/nomeiryoui.json
📚 Learning: 2025-10-16T15:59:21.258Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16349
File: bucket/fvim.json:45-49
Timestamp: 2025-10-16T15:59:21.258Z
Learning: In Scoop manifests, the `autoupdate.url` and `autoupdate.architecture.<arch>.url` fields must be valid URIs according to the JSON schema (defined with `"format": "uri"`). Variables like `$matchUrlx64` that contain only path segments must be combined with a base URL (e.g., `https://github.com/.../releases/download/`) to form a complete valid URI.
Applied to files:
bucket/nomeiryoui.json
📚 Learning: 2025-09-05T09:41:52.653Z
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds in recent versions uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format. This was confirmed by a working 10.0.0 update with valid hash.
Applied to files:
bucket/nomeiryoui.json
📚 Learning: 2025-09-05T09:41:52.653Z
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format.
Applied to files:
bucket/nomeiryoui.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: WindowsPowerShell
🔇 Additional comments (3)
bucket/nomeiryoui.json (3)
8-13: LGTM!The shortcuts configuration correctly defines a Start Menu shortcut for the noMeiryoUI executable using the standard Scoop format.
19-21: Add hash extraction to the autoupdate block for GitHub releases.The autoupdate URL pattern correctly matches the release structure, but hash extraction should be configured. Scoop supports automatic hash extraction from GitHub releases via its API, and can automatically retrieve SHA-256 hashes from GitHub release assets. Add the following to extract hashes:
"hash": { "mode": "json", "jsonpath": "$..assets[?(@.name == '$basename')].browser_download_url", "url": "https://api.github.com/repos/Tatsu-syo/noMeiryoUI/releases" }Or use the simpler approach if GitHub automatically provides digests for this project.
⛔ Skipped due to learnings
Learnt from: o-l-a-v Repo: ScoopInstaller/Extras PR: 16378 File: bucket/compactgui.json:20-22 Timestamp: 2025-10-19T13:58:23.389Z Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.Learnt from: Gitoffthelawn Repo: ScoopInstaller/Extras PR: 16106 File: bucket/czkawka-gui.json:25-25 Timestamp: 2025-09-05T09:41:52.653Z Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds in recent versions uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format. This was confirmed by a working 10.0.0 update with valid hash.Learnt from: o-l-a-v Repo: ScoopInstaller/Extras PR: 16349 File: bucket/fvim.json:45-49 Timestamp: 2025-10-16T15:59:21.258Z Learning: In Scoop manifests, the `autoupdate.url` and `autoupdate.architecture.<arch>.url` fields must be valid URIs according to the JSON schema (defined with `"format": "uri"`). Variables like `$matchUrlx64` that contain only path segments must be combined with a base URL (e.g., `https://github.com/.../releases/download/`) to form a complete valid URI.Learnt from: Gitoffthelawn Repo: ScoopInstaller/Extras PR: 16106 File: bucket/czkawka-gui.json:25-25 Timestamp: 2025-09-05T09:41:52.653Z Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format.
6-7: URL and hash format are correct for the v3.4.0 release.The TAG-3.4.0 release exists and the URL pattern follows the standard GitHub release download format. The hash is properly formatted as a 64-character uppercase SHA256 value, consistent with Scoop's requirements.
Note that the autoupdate block (lines 19-21) intentionally omits hash extraction, which is consistent with other manifests where automated hash extraction from release metadata is not available. This pattern is established in similar cases within the Scoop ecosystem.
|
The original ┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> .\checkver.ps1 -App nomeiryoui -Dir 'D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Extras\bucket' -f
nomeiryoui: 3.4.0 (scoop version is 3.4.0)
Forcing autoupdate!
Autoupdating nomeiryoui
DEBUG[1766304172] [$updatedProperties] = [url hash] -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:491:5
DEBUG[1766304172] $substitutions (hashtable) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:221:5
DEBUG[1766304172] $substitutions.$matchTail
DEBUG[1766304172] $substitutions.$cleanVersion 340
DEBUG[1766304172] $substitutions.$matchHead 3.4.0
DEBUG[1766304172] $substitutions.$dotVersion 3.4.0
DEBUG[1766304172] $substitutions.$url https://github.com/Tatsu-syo/noMeiryoUI/releases/download/TAG-3.4.0/noMeiryoUI3.4.0.zip
DEBUG[1766304172] $substitutions.$buildVersion
DEBUG[1766304172] $substitutions.$version 3.4.0
DEBUG[1766304172] $substitutions.$match1 3.4.0
DEBUG[1766304172] $substitutions.$baseurl https://github.com/Tatsu-syo/noMeiryoUI/releases/download/TAG-3.4.0
DEBUG[1766304172] $substitutions.$majorVersion 3
DEBUG[1766304172] $substitutions.$minorVersion 4
DEBUG[1766304172] $substitutions.$urlNoExt https://github.com/Tatsu-syo/noMeiryoUI/releases/download/TAG-3.4.0/noMeiryoUI3.4.0
DEBUG[1766304172] $substitutions.$basenameNoExt noMeiryoUI3.4.0
DEBUG[1766304172] $substitutions.$dashVersion 3-4-0
DEBUG[1766304172] $substitutions.$underscoreVersion 3_4_0
DEBUG[1766304172] $substitutions.$preReleaseVersion 3.4.0
DEBUG[1766304172] $substitutions.$patchVersion 0
DEBUG[1766304172] $substitutions.$basename noMeiryoUI3.4.0.zip
DEBUG[1766304172] $hashfile_url = $null -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:224:5
DEBUG[1766304173] $jsonpath = $..assets[?(@.browser_download_url == 'https://github.com/Tatsu-syo/noMeiryoUI/releases/download/TAG-3.4.0/noMeiryoUI3.4.0.zip')].digest -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:132:5
Could not find hash in https://api.github.com/repos/Tatsu-syo/noMeiryoUI/releases
Downloading noMeiryoUI3.4.0.zip to compute hashes!
Loading noMeiryoUI3.4.0.zip from cache
Computed hash: 97b7d4eb6b04c9a4a617267823fa98c75ae5559765ecb5c1192ee473d4e78ec8
DEBUG[1766304173] $substitutions (hashtable) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:221:5
DEBUG[1766304173] $substitutions.$matchTail
DEBUG[1766304173] $substitutions.$cleanVersion 340
DEBUG[1766304173] $substitutions.$matchHead 3.4.0
DEBUG[1766304173] $substitutions.$dotVersion 3.4.0
DEBUG[1766304173] $substitutions.$url https://github.com/Tatsu-syo/noMeiryoUI/releases/download/TAG-3.4.0/noMeiryoUI3.4.0.zip
DEBUG[1766304173] $substitutions.$buildVersion
DEBUG[1766304173] $substitutions.$version 3.4.0
DEBUG[1766304173] $substitutions.$match1 3.4.0
DEBUG[1766304173] $substitutions.$baseurl https://github.com/Tatsu-syo/noMeiryoUI/releases/download/TAG-3.4.0
DEBUG[1766304173] $substitutions.$majorVersion 3
DEBUG[1766304173] $substitutions.$minorVersion 4
DEBUG[1766304173] $substitutions.$urlNoExt https://github.com/Tatsu-syo/noMeiryoUI/releases/download/TAG-3.4.0/noMeiryoUI3.4.0
DEBUG[1766304173] $substitutions.$basenameNoExt noMeiryoUI3.4.0
DEBUG[1766304173] $substitutions.$dashVersion 3-4-0
DEBUG[1766304173] $substitutions.$underscoreVersion 3_4_0
DEBUG[1766304173] $substitutions.$preReleaseVersion 3.4.0
DEBUG[1766304173] $substitutions.$patchVersion 0
DEBUG[1766304173] $substitutions.$basename noMeiryoUI3.4.0.zip
DEBUG[1766304173] $hashfile_url = $null -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:224:5
DEBUG[1766304174] $jsonpath = $..assets[?(@.browser_download_url == 'https://github.com/Tatsu-syo/noMeiryoUI/releases/download/TAG-3.4.0/noMeiryoUI3.4.0.zip')].digest -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:132:5
Could not find hash in https://api.github.com/repos/Tatsu-syo/noMeiryoUI/releases
Downloading noMeiryoUI3.4.0.zip to compute hashes!
Loading noMeiryoUI3.4.0.zip from cache
Computed hash: 97b7d4eb6b04c9a4a617267823fa98c75ae5559765ecb5c1192ee473d4e78ec8
Writing updated nomeiryoui manifestAdditionally, please retain the ┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> $app = 'noMeiryoUI'
┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> $persist_file = @('noMeiryoUI.ini')
┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> $persist_file | ForEach-Object {
$dir = Invoke-Expression ('scoop prefix {0}' -f $app)
if (-not (Test-Path -Path $dir)) { return }
(Get-Item -Path "$dir\$_").LinkType
}
HardLink
|
|
@SorYoshino Sorry, I tried I wasn't sure if it was my network problem. I used a VPN during testing. I think it's better to have a third person to test it. |
Guess you didn't configure a GitHub token? ScoopInstaller/Scoop#6559 (comment)
Try this: BTW: Please address all the issues raised in your PRs rather than leaving many of them unresolved. For unresolved PRs, please mark them as drafts. |
|
Thanks! It's ready to work. |
|
Its original I will close this PR. Its |
|
Hello, @scillidan . Your PR fixes several issues in the |
|
|
It's ok! I wil re-create a new PR later. |
architecture
I didn't find a description of the architecture in the Source repository, but Detect It Easy showed that it was 32-bit.
checkver
It failed pass
checkver.ps1and has now been fixed:<manifest-name[@version]|chore>: <general summary of the pull request>Summary by CodeRabbit
Release Notes
Refactor
✏️ Tip: You can customize this high-level summary in your review settings.