Skip to content

proto: Add version 0.52.5#16157

Closed
lvyuemeng wants to merge 6 commits intoScoopInstaller:masterfrom
lvyuemeng:proto
Closed

proto: Add version 0.52.5#16157
lvyuemeng wants to merge 6 commits intoScoopInstaller:masterfrom
lvyuemeng:proto

Conversation

@lvyuemeng
Copy link

@lvyuemeng lvyuemeng commented Sep 17, 2025

Proto: Add version 0.52.5

Close #16990

  • 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
    • Adds a Windows package for Proto v0.52.5.
    • Installs command‑line binaries that are available on PATH and configures a persistent Proto home directory.
    • Validates downloads with SHA‑256 and supports autoupdate/version checks via GitHub releases.
    • Bundles package metadata including description, homepage, and MIT license.

@coderabbitai
Copy link

coderabbitai bot commented Sep 17, 2025

Walkthrough

Adds a new Scoop manifest bucket/proto.json for Proto v0.52.5 (Windows 64-bit) that declares download URL and SHA-256, lists proto.exe and proto-shim.exe, sets PROTO_HOME to the persist directory, adds persist_dir to PATH, and configures GitHub checkver and autoupdate templates.

Changes

Cohort / File(s) Summary
Scoop manifest addition
bucket/proto.json
New manifest for Proto v0.52.5 (win64): specifies download URL and SHA-256, declares binaries proto.exe and proto-shim.exe, sets PROTO\_HOME to the persist directory and adds persist_dir to PATH, configures checkver (moonrepo/proto) and autoupdate with a 64-bit URL template and separate SHA-256 source, includes description, homepage, and MIT license.

Sequence Diagram(s)

sequenceDiagram
    participant Scoop
    participant Manifest as bucket/proto.json
    participant Download
    participant Extract
    participant Env

    note right of Manifest `#F0F8FF`: New manifest for Proto v0.52.5 (win64)
    Scoop->>Manifest: read manifest (version, urls, shas, bins)
    Scoop->>Download: fetch archive at templated URL
    Download->>Scoop: archive + .sha256
    Scoop->>Extract: extract files (includes proto.exe, proto-shim.exe)
    Extract->>Env: set PROTO\_HOME = persist_dir
    Extract->>Env: add persist_dir to PATH
    note right of Scoop: checkver queries GitHub releases\nautoupdate uses version-templated URL + sha source
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Pay attention to the download URL template, SHA-256 source handling, and the checkver/autoupdate regex correctness.

Poem

I nibble bytes in bucket light,
A proto manifest hops into sight.
Two small EXEs find a cozy bin,
PROTO_HOME set — the PATH joins in.
Update checks drum a jaunty delight.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The PR title 'proto: Add version 0.52.5' clearly and concisely describes the main change: adding a new version of the Proto package to the manifest.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The pull request description follows the template structure with a conventional title, references the related issue (#16990), and includes completed checklist items confirming adherence to contributing guidelines.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

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.

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

proto

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

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: 2

🧹 Nitpick comments (1)
bucket/proto.json (1)

19-21: Minor: simplify checkver syntax.

Short form is conventional in Scoop manifests.

Apply this diff:

-    "checkver": {
-        "github": "https://github.com/moonrepo/proto"
-    },
+    "checkver": {
+        "github": "moonrepo/proto"
+    },
📜 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 d24104c.

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

22-31: Keep per-asset .sha256 — no change required.
Releases include per‑asset .sha256 files for the Windows zips (and also a consolidated dist-manifest.json), so the current hash URL ($baseurl/proto_cli-x86_64-pc-windows-msvc.zip.sha256) is valid — leave as-is.


6-11: Optional: add Windows ARM64 if upstream ships it — not applicable for v0.52.5

The v0.52.5 release only includes proto_cli-x86_64-pc-windows-msvc.zip; there is no aarch64-pc-windows-msvc asset, so do not add an arm64 block.

@lvyuemeng
Copy link
Author

Proto adapt itself in $PROTO_HOME/bin, and store data in $PROTO_HOME, thus, one need to set the $PROTO_HOME as persisit dir, then move all binary to $PROTO_HOME/bin and link the bin into the app dir, expose the env path $PROTO_HOME/bin.

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 (4)
bucket/proto.json (4)

16-25: Simplify installer; prefer Scoop “bin” shims instead of moving EXEs.

Current flow moves EXEs into $persist_dir and relies on PATH. Scoop can create shims and avoid PATH edits and custom moves.

Option A — keep persisted bin but make PATH explicit (see next comment).

Option B — simpler, shim-based install (recommended):

   "installer": {
-    "script": [
-      "# Create bin directory",
-      "New-Item -ItemType Directory -Force -Path \"$persist_dir\\bin\" | Out-Null",
-      "",
-      "# Move proto binaries into bin",
-      "Move-Item \"$dir\\proto.exe\" \"$persist_dir\\bin\\proto.exe\" -Force",
-      "if (Test-Path \"$dir\\proto-shim.exe\") {",
-      "    Move-Item \"$dir\\proto-shim.exe\" \"$persist_dir\\bin\\proto-shim.exe\" -Force",
-      "}",
-    ]
+    "script": []
   },
+  "bin": [
+    "proto.exe",
+    "proto-shim.exe"
+  ],
-  "persist": [
-    "bin"
-  ],
+  "persist": [],

PROTO_HOME can remain set to $persist_dir to keep toolchains/config persistent.


27-31: Make PATH target unambiguous; point directly at the persisted bin.

If you keep the current “move-to-persist” approach, ensure PATH targets the persisted location to avoid any ordering/symlink surprises.

-  "env_add_path": "bin",
+  "env_add_path": "$persist_dir\\bin",

12-14: Persist entry may be redundant with the current installer.

Since you’re moving binaries to $persist_dir\bin manually, persisting "bin" is not needed unless you also want a $dir\bin junction. Consider removing it, or keep it only if you rely on the junction.


40-42: Harden autoupdate hash retrieval.

Point hash to $url.sha256 (tied to the exact asset) and add a regex in case the file includes filenames or prefixes.

-    "hash": {
-      "url": "$baseurl/proto_cli-x86_64-pc-windows-msvc.zip.sha256"
-    }
+    "hash": {
+      "url": "$url.sha256",
+      "regex": "([A-Fa-f0-9]{64})"
+    }
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between afa798f and 074e4e4.

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

1-5: Metadata looks good.

Version, description, homepage, and license are aligned with upstream.


8-9: SHA-256 verified — matches upstream.
Upstream .sha256 equals the manifest hash in bucket/proto.json (lines 8–9).


6-11: Do not add Windows ARM64 for v0.52.5 — asset not published.
v0.52.5 only contains proto_cli-x86_64-pc-windows-msvc.zip; there is no proto_cli-aarch64-pc-windows-msvc.zip or SHA‑256 to add.

@aliesbelik aliesbelik added the package-request-needed Create a package request issue before raising PR. Check the criteria for a package to be accepted. label Sep 17, 2025
@lvyuemeng
Copy link
Author

Close #16990

@z-Fng z-Fng added duplicate and removed package-request-needed Create a package request issue before raising PR. Check the criteria for a package to be accepted. labels Jan 12, 2026
@z-Fng
Copy link
Member

z-Fng commented Jan 14, 2026

@z-Fng z-Fng closed this Jan 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: Proto

3 participants