Skip to content

Conversation

lvyuemeng
Copy link

@lvyuemeng lvyuemeng commented Sep 17, 2025

Vmr: Add version 0.7.5

vmr fixs the configuration path as $HOME/.vmr, so persist dir for this is unnecessary.

  • 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
    • Added a new package for VMR (v0.7.5) with Windows 64-bit and ARM64 builds, including direct binaries for easy installation.
    • Package support automatic version checks and updates via their release feeds, improving discoverability and keeping installs current.

Copy link

coderabbitai bot commented Sep 17, 2025

Walkthrough

Adds two new Scoop manifests: bucket/proto.json (Proto v0.52.5) with an installer script, env vars, PATH updates, and GitHub-based checkver/autoupdate; and bucket/vmr.json (VMR v0.7.5) defining 64-bit and arm64 assets with hashes, binary, and GitHub-based checkver/autoupdate.

Changes

Cohort / File(s) Summary of Changes
Scoop manifests added
bucket/proto.json, bucket/vmr.json
Added new Scoop package manifests. proto.json includes version, metadata, 64-bit asset, sha256, persist bin, installer.script to create persist_dir/bin and move proto(.exe/.shim.exe), env_set PROTO_HOME, env_add_path bin, GitHub checkver, and autoupdate URL/hash templates. vmr.json includes version, metadata, 64-bit and arm64 assets with hashes, bin (vmr.exe), GitHub checkver, and autoupdate with versioned URLs.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant Scoop
  participant GitHub as GitHub Releases
  participant FS as Filesystem/Env

  rect rgba(227,241,255,0.5)
    note over User,Scoop: Install Proto (bucket/proto.json)
    User->>Scoop: scoop install proto
    Scoop->>GitHub: Download proto.exe (win64)
    Scoop->>FS: Create persist_dir/bin
    Scoop->>FS: Move proto.exe -> persist_dir/bin
    alt proto-shim.exe present
      Scoop->>FS: Move proto-shim.exe -> persist_dir/bin
    end
    Scoop->>FS: Set PROTO_HOME=persist_dir
    Scoop->>FS: Add persist_dir/bin to PATH
  end

  rect rgba(235,255,227,0.5)
    note over User,Scoop: Install VMR (bucket/vmr.json)
    User->>Scoop: scoop install vmr
    Scoop->>GitHub: Download vmr.exe (win64/arm64)
    Scoop->>FS: Place vmr.exe and register bin
  end

  rect rgba(255,245,227,0.5)
    note over Scoop,GitHub: Version checks / autoupdate (both)
    Scoop->>GitHub: Check latest release (checkver)
    Scoop->>GitHub: Resolve asset URL(s) from $version (autoupdate)
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

I hopped through buckets, light and neat,
Packed Proto’s tools, made PATH complete.
VMR joined with versions twinned,
Hashes checked, installers pinned.
Two fresh carrots in the crate—
Scoop them up, don’t hesitate! 🥕✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The PR description contains a conventional title, the two checked checklist items, and a brief summary explaining the vmr 0.7.5 change (including the persist-dir note), but it omits the repository-mandated confirmation/link to a prior opened issue (Package Request or Bug Report) and does not include an explicit "Closes #XXXX" or "Relates to #XXXX" reference required by the template. This missing issue reference is a required element according to the template comments, so the description is not fully compliant. Because that mandatory step is not documented in the PR body, the check fails. Please create (or link) the required Package Request or Bug Report issue and add its reference to the PR description (for example add "Closes #12345" or "Relates to #12345"), and confirm in the description that you searched for similar issues; after adding the issue reference the description will meet the repository template requirements.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The title "Vmr: Add version 0.7.5" is concise, follows the repository's conventional PR title pattern, and accurately describes the primary change (adding vmr v0.7.5), making it clear to reviewers what the main update is.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

proto

  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

vmr

  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

Copy link

@coderabbitai coderabbitai bot left a 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/vmr.json (1)

20-29: Consider adding hash verification to autoupdate.

The autoupdate section lacks hash verification URLs, which could compromise security during automatic updates. Consider adding a hash section similar to the Proto manifest.

 	"autoupdate": {
 		"architecture": {
 			"64bit": {
 				"url": "https://github.com/gvcgo/version-manager/releases/download/v$version/vmr_windows-amd64.zip"
 			},
 			"arm64": {
 				"url": "https://github.com/gvcgo/version-manager/releases/download/v$version/vmr_windows-arm64.zip"
 			}
-		}
+		},
+		"hash": {
+			"url": "$baseurl/vmr_windows-$architecture.zip.sha256"
+		}
 	}

However, first verify if the VMR project provides SHA-256 files alongside their releases:

#!/bin/bash
# Check if SHA-256 files are available for VMR releases
echo "Checking for SHA-256 files in VMR v0.7.5 release..."
curl -I "https://github.com/gvcgo/version-manager/releases/download/v0.7.5/vmr_windows-amd64.zip.sha256" 2>/dev/null | head -1
curl -I "https://github.com/gvcgo/version-manager/releases/download/v0.7.5/vmr_windows-arm64.zip.sha256" 2>/dev/null | head -1
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b832b30 and ee8634a.

📒 Files selected for processing (2)
  • bucket/proto.json (1 hunks)
  • bucket/vmr.json (1 hunks)
🔇 Additional comments (5)
bucket/vmr.json (2)

1-30: LGTM! Well-structured Scoop manifest for VMR version manager.

The manifest follows Scoop conventions correctly with proper metadata, architecture-specific binaries, and GitHub-based version management. The structure aligns well with the companion Proto manifest in this PR.


8-9: SHA-256 hashes verified — match release assets.
Both vmr_windows-amd64.zip and vmr_windows-arm64.zip for gvcgo/version-manager v0.7.5 match the hashes in bucket/vmr.json (lines 8–9 and 12–13).

bucket/proto.json (3)

1-44: LGTM! Well-structured Scoop manifest for Proto toolchain.

The manifest correctly implements persistent storage for binaries, proper environment setup, and includes hash verification in autoupdate. The PowerShell installer script appropriately handles the binary relocation.


40-42: SHA-256 autoupdate URL verified

Confirmed — the release asset URL pattern is valid (for v0.52.5 the URL returns HTTP 200 and the asset contains the expected SHA-256 checksum + filename). No change required in bucket/proto.json (lines 40–42).


8-9: SHA-256 verified — matches the Proto v0.52.5 Windows asset.

bucket/proto.json (lines 8–9) — expected / actual: fdf3b65bb60930a7f454cb164ea86040ea28a62b8ee586b67672b9a145c01dc7.

@aliesbelik aliesbelik added the package-request-needed Need package-request issue label Sep 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package-request-needed Need package-request issue review-needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants