Skip to content

Conversation

@Kinin-Code-Offical
Copy link
Owner

@Kinin-Code-Offical Kinin-Code-Offical commented Dec 22, 2025

Closes #25

Summary

  • Adds optional distribution templates for Scoop (bucket in this repo), Chocolatey (package skeleton), and a Winget manifest template.
  • Adds ools/update-distribution.ps1 to update version/hash from GitHub Release artifacts.
  • Documents distribution options in README.md and docs/Distribution.md.

Local tests

  • npm ci (PASS)
  • npm run lint (PASS)
  • npm test (PASS)
  • npm run build (PASS)
  • npm run docs:check (PASS)

Rollback

  • Revert this PR to remove distribution templates/docs.

Summary by Sourcery

Add optional Windows package-manager distribution support and automation for keeping distribution manifests in sync with GitHub releases.

New Features:

  • Introduce Scoop bucket manifest for installing cloudsqlctl via Scoop.
  • Add Chocolatey package skeleton and install/uninstall scripts for cloudsqlctl.
  • Provide a Winget manifest template for publishing cloudsqlctl to the Winget community repository.

Enhancements:

  • Add PowerShell script to automatically update Scoop, Chocolatey, and Winget manifests from GitHub release artifacts.
  • Link new distribution options from the main README and docs navigation.

Documentation:

  • Document Scoop, Winget, and Chocolatey distribution options and manifest update workflow in dedicated documentation files.

Copilot AI review requested due to automatic review settings December 22, 2025 03:04
@sourcery-ai
Copy link

sourcery-ai bot commented Dec 22, 2025

Reviewer's Guide

Adds optional Windows package-manager distribution support (Scoop bucket, Chocolatey skeleton, Winget manifest template) plus a PowerShell helper to sync manifest versions and hashes from GitHub Releases, and updates docs to describe the new distribution options.

Sequence diagram for updating distribution manifests via update-distribution.ps1

sequenceDiagram
  actor Maintainer
  participant Script_update_distribution_ps1 as update_distribution_ps1
  participant Git as git
  participant GitHub_CLI as gh
  participant FileSystem as fs

  Maintainer->>Script_update_distribution_ps1: Run with optional Version and Repo
  Script_update_distribution_ps1->>Git: remote get-url origin
  Git-->>Script_update_distribution_ps1: origin URL
  Script_update_distribution_ps1->>Script_update_distribution_ps1: Resolve ownerRepo from URL

  alt Version parameter not provided
    Script_update_distribution_ps1->>FileSystem: Read package.json
    FileSystem-->>Script_update_distribution_ps1: package.json content
    Script_update_distribution_ps1->>Script_update_distribution_ps1: Extract version
  else Version parameter provided
    Script_update_distribution_ps1->>Script_update_distribution_ps1: Use provided version
  end

  Script_update_distribution_ps1->>GitHub_CLI: gh release download v{version} SHA256SUMS.txt
  GitHub_CLI-->>Script_update_distribution_ps1: SHA256SUMS.txt
  Script_update_distribution_ps1->>Script_update_distribution_ps1: Build map of asset name -> sha256

  Script_update_distribution_ps1->>Script_update_distribution_ps1: Get sha256 for cloudsqlctl-setup.exe
  Script_update_distribution_ps1->>Script_update_distribution_ps1: Get sha256 for cloudsqlctl-windows-x64.zip
  note over Script_update_distribution_ps1: For zip hash, use SHA256SUMS.txt or download asset and compute hash

  Script_update_distribution_ps1->>FileSystem: Check scoop/cloudsqlctl.json
  alt Scoop manifest exists
    Script_update_distribution_ps1->>FileSystem: Read scoop/cloudsqlctl.json
    Script_update_distribution_ps1->>FileSystem: Write updated version, url, hash
  end

  Script_update_distribution_ps1->>FileSystem: Check chocolatey/cloudsqlctl/cloudsqlctl.nuspec
  alt Chocolatey nuspec exists
    Script_update_distribution_ps1->>FileSystem: Read nuspec
    Script_update_distribution_ps1->>FileSystem: Replace <version> value
  end

  Script_update_distribution_ps1->>FileSystem: Check chocolateyInstall.ps1
  alt Chocolatey install script exists
    Script_update_distribution_ps1->>FileSystem: Read chocolateyInstall.ps1
    Script_update_distribution_ps1->>FileSystem: Replace $packageVersion and $zipSha256
  end

  Script_update_distribution_ps1->>FileSystem: Check distribution/winget/cloudsqlctl.yaml
  alt Winget manifest exists
    Script_update_distribution_ps1->>FileSystem: Read cloudsqlctl.yaml
    Script_update_distribution_ps1->>FileSystem: Replace PackageVersion, InstallerUrl, InstallerSha256
  end

  Script_update_distribution_ps1-->>Maintainer: Console summary of updated manifests
Loading

File-Level Changes

Change Details Files
Introduce a PowerShell helper to sync distribution manifests with GitHub Releases
  • Add tools/update-distribution.ps1 with parameters for Version and Repo, defaulting repo from git remote and version from package.json
  • Download SHA256SUMS.txt and installer/zip assets via GitHub CLI to compute per-asset hashes
  • Update Scoop manifest JSON (version, URL, hash) when scoop/cloudsqlctl.json exists
  • Update Chocolatey nuspec version and chocolateyInstall.ps1 variables (packageVersion, zipSha256) when those files exist
  • Update Winget YAML manifest (PackageVersion, InstallerUrl, InstallerSha256) when distribution/winget/cloudsqlctl.yaml exists and print a summary of updated manifests
tools/update-distribution.ps1
Add Scoop bucket manifest and documentation for installing via Scoop
  • Add scoop/cloudsqlctl.json manifest for the Scoop bucket (version, URL to GitHub release zip, SHA256 hash, and metadata)
  • Add scoop/README.md documenting how to add the bucket and install/update cloudsqlctl via Scoop
scoop/cloudsqlctl.json
scoop/README.md
Add Chocolatey package skeleton for optional Chocolatey distribution
  • Add chocolatey/cloudsqlctl/tools/chocolateyInstall.ps1 to download the versioned zip from GitHub Releases, verify SHA256, unzip to tools, and register the binary
  • Add chocolatey/cloudsqlctl/tools/chocolateyUninstall.ps1 to remove the registered shim
  • Add chocolatey/cloudsqlctl/cloudsqlctl.nuspec and VERIFICATION.txt as standard Chocolatey packaging metadata (id/version, description, verification of binaries)
chocolatey/cloudsqlctl/tools/chocolateyInstall.ps1
chocolatey/cloudsqlctl/tools/chocolateyUninstall.ps1
chocolatey/cloudsqlctl/cloudsqlctl.nuspec
chocolatey/cloudsqlctl/tools/VERIFICATION.txt
Add Winget manifest template and docs for publishing via microsoft/winget-pkgs
  • Add distribution/winget/cloudsqlctl.yaml singleton manifest describing the package metadata, installer URL, and SHA256 for the current version
  • Add distribution/winget/README.md explaining how to update the manifest and submit a PR to microsoft/winget-pkgs
distribution/winget/cloudsqlctl.yaml
distribution/winget/README.md
Update top-level docs to reference new distribution mechanisms
  • Clarify README.md installation section to state GitHub Releases as primary distribution and link to Scoop and distribution docs for optional/community distribution
  • Add docs/Distribution.md describing each distribution option (Scoop bucket, Chocolatey skeleton, Winget template) and how to update manifests using the new PowerShell script
README.md
docs/Distribution.md

Assessment against linked issues

Issue Objective Addressed Explanation
#25 Add support for distributing the project via winget, Chocolatey, and Scoop (e.g., manifests/templates and supporting scripts/config).
#25 Document the optional/community distribution options for winget, Chocolatey, and Scoop in the project documentation.

Possibly linked issues

  • P2: winget/choco/scoop distribution #25: PR fully implements the requested winget/choco/scoop distribution support, including manifests, update script, and documentation.
  • #: The PR delivers the P2 roadmap item by adding winget/choco/scoop manifests, update tooling, and docs.
  • #unknown: PR implements the roadmap’s P2 winget/choco/scoop distribution item with manifests, tooling, and docs.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 1 issue, and left some high level feedback:

  • The tools/update-distribution.ps1 script assumes gh is available but never checks for it; consider adding an early guard (e.g., Get-Command gh with a clear error message) so failures are easier to diagnose on machines without GitHub CLI installed.
  • In tools/update-distribution.ps1, the SHA256SUMS parsing and file-name matching logic assumes fixed asset names (cloudsqlctl-windows-x64.zip, cloudsqlctl-setup.exe); consider pulling these out as parameters or constants at the top of the file so they’re easier to update if the release naming scheme changes.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The `tools/update-distribution.ps1` script assumes `gh` is available but never checks for it; consider adding an early guard (e.g., `Get-Command gh` with a clear error message) so failures are easier to diagnose on machines without GitHub CLI installed.
- In `tools/update-distribution.ps1`, the SHA256SUMS parsing and file-name matching logic assumes fixed asset names (`cloudsqlctl-windows-x64.zip`, `cloudsqlctl-setup.exe`); consider pulling these out as parameters or constants at the top of the file so they’re easier to update if the release naming scheme changes.

## Individual Comments

### Comment 1
<location> `tools/update-distribution.ps1:55` </location>
<code_context>
+    if (-not (Test-Path $sumsPath)) { throw "SHA256SUMS.txt not found in release v$ver" }
+
+    $map = @{}
+    foreach ($line in Get-Content $sumsPath) {
+      $t = $line.Trim()
+      if (-not $t) { continue }
+      $parts = $t -split '\s+'
+      if ($parts.Length -lt 2) { continue }
+      $hash = $parts[0].ToLowerInvariant()
+      $file = $parts[1]
+      $map[$file] = $hash
+    }
</code_context>

<issue_to_address>
**suggestion:** Handle SHA256SUMS entries that include the common leading `*` before filenames.

When `sha256sum` outputs lines as `HASH *filename`, `$parts[1]` will include the leading `*`, so the map key won’t match the actual asset name (e.g., `*cloudsqlctl-windows-x64.zip` vs `cloudsqlctl-windows-x64.zip`). Consider normalizing with something like `$file = $parts[1].TrimStart('*')` before using it as the key.

```suggestion
      $file = $parts[1].TrimStart('*')
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

$parts = $t -split '\s+'
if ($parts.Length -lt 2) { continue }
$hash = $parts[0].ToLowerInvariant()
$file = $parts[1]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: Handle SHA256SUMS entries that include the common leading * before filenames.

When sha256sum outputs lines as HASH *filename, $parts[1] will include the leading *, so the map key won’t match the actual asset name (e.g., *cloudsqlctl-windows-x64.zip vs cloudsqlctl-windows-x64.zip). Consider normalizing with something like $file = $parts[1].TrimStart('*') before using it as the key.

Suggested change
$file = $parts[1]
$file = $parts[1].TrimStart('*')

@Kinin-Code-Offical Kinin-Code-Offical merged commit 3a142f6 into main Dec 22, 2025
9 checks passed
@Kinin-Code-Offical Kinin-Code-Offical deleted the p2/winget-choco-scoop branch December 22, 2025 03:06
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds optional Windows package manager distribution support for cloudsqlctl, including Scoop, Chocolatey, and Winget templates. It introduces an automated PowerShell script to update version numbers and SHA256 hashes across all distribution manifests from GitHub release artifacts.

Key changes:

  • Added tools/update-distribution.ps1 to automate version/hash updates across distribution files
  • Created Scoop bucket manifest in-repo for direct installation
  • Added Chocolatey package skeleton with install/uninstall scripts

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 17 comments.

Show a summary per file
File Description
tools/update-distribution.ps1 PowerShell automation script to sync versions and hashes from GitHub releases
scoop/cloudsqlctl.json Scoop bucket manifest for in-repo distribution
scoop/README.md Installation instructions for Scoop users
docs/Distribution.md Comprehensive distribution documentation for all package managers
distribution/winget/cloudsqlctl.yaml Winget manifest template for submission to microsoft/winget-pkgs
distribution/winget/README.md Winget submission guidance
chocolatey/cloudsqlctl/cloudsqlctl.nuspec Chocolatey package metadata specification
chocolatey/cloudsqlctl/tools/chocolateyInstall.ps1 Chocolatey installation script with SHA256 verification
chocolatey/cloudsqlctl/tools/chocolateyUninstall.ps1 Chocolatey uninstallation script
chocolatey/cloudsqlctl/tools/VERIFICATION.txt Verification instructions for Chocolatey package
README.md Updated installation section to reference new distribution options

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1 to +11
PackageIdentifier: KininCodeOffical.CloudSQLCTL
PackageVersion: 0.4.15
PackageName: CloudSQLCTL
Publisher: Kinin-Code-Offical
License: MIT
ShortDescription: Windows-native CLI to install, update, and manage Google Cloud SQL Auth Proxy via gcloud.
PackageUrl: https://github.com/Kinin-Code-Offical/cloudsqlctl
InstallerType: inno
Installers:
- Architecture: x64
InstallerUrl: https://github.com/Kinin-Code-Offical/cloudsqlctl/releases/download/v0.4.15/cloudsqlctl-setup.exe
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling error: "Offical" should be "Official". The Publisher should be "Kinin-Code-Official".

Suggested change
PackageIdentifier: KininCodeOffical.CloudSQLCTL
PackageVersion: 0.4.15
PackageName: CloudSQLCTL
Publisher: Kinin-Code-Offical
License: MIT
ShortDescription: Windows-native CLI to install, update, and manage Google Cloud SQL Auth Proxy via gcloud.
PackageUrl: https://github.com/Kinin-Code-Offical/cloudsqlctl
InstallerType: inno
Installers:
- Architecture: x64
InstallerUrl: https://github.com/Kinin-Code-Offical/cloudsqlctl/releases/download/v0.4.15/cloudsqlctl-setup.exe
PackageIdentifier: KininCodeOfficial.CloudSQLCTL
PackageVersion: 0.4.15
PackageName: CloudSQLCTL
Publisher: Kinin-Code-Official
License: MIT
ShortDescription: Windows-native CLI to install, update, and manage Google Cloud SQL Auth Proxy via gcloud.
PackageUrl: https://github.com/Kinin-Code-Official/cloudsqlctl
InstallerType: inno
Installers:
- Architecture: x64
InstallerUrl: https://github.com/Kinin-Code-Official/cloudsqlctl/releases/download/v0.4.15/cloudsqlctl-setup.exe

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +11
PackageIdentifier: KininCodeOffical.CloudSQLCTL
PackageVersion: 0.4.15
PackageName: CloudSQLCTL
Publisher: Kinin-Code-Offical
License: MIT
ShortDescription: Windows-native CLI to install, update, and manage Google Cloud SQL Auth Proxy via gcloud.
PackageUrl: https://github.com/Kinin-Code-Offical/cloudsqlctl
InstallerType: inno
Installers:
- Architecture: x64
InstallerUrl: https://github.com/Kinin-Code-Offical/cloudsqlctl/releases/download/v0.4.15/cloudsqlctl-setup.exe
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling error: "Offical" should be "Official". The repository name should be "Kinin-Code-Official".

Suggested change
PackageIdentifier: KininCodeOffical.CloudSQLCTL
PackageVersion: 0.4.15
PackageName: CloudSQLCTL
Publisher: Kinin-Code-Offical
License: MIT
ShortDescription: Windows-native CLI to install, update, and manage Google Cloud SQL Auth Proxy via gcloud.
PackageUrl: https://github.com/Kinin-Code-Offical/cloudsqlctl
InstallerType: inno
Installers:
- Architecture: x64
InstallerUrl: https://github.com/Kinin-Code-Offical/cloudsqlctl/releases/download/v0.4.15/cloudsqlctl-setup.exe
PackageIdentifier: KininCodeOfficial.CloudSQLCTL
PackageVersion: 0.4.15
PackageName: CloudSQLCTL
Publisher: Kinin-Code-Official
License: MIT
ShortDescription: Windows-native CLI to install, update, and manage Google Cloud SQL Auth Proxy via gcloud.
PackageUrl: https://github.com/Kinin-Code-Official/cloudsqlctl
InstallerType: inno
Installers:
- Architecture: x64
InstallerUrl: https://github.com/Kinin-Code-Official/cloudsqlctl/releases/download/v0.4.15/cloudsqlctl-setup.exe

Copilot uses AI. Check for mistakes.
Comment on lines +7 to +10
<authors>Kinin-Code-Offical</authors>
<owners>Kinin-Code-Offical</owners>
<license type="expression">MIT</license>
<projectUrl>https://github.com/Kinin-Code-Offical/cloudsqlctl</projectUrl>
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling error: "Offical" should be "Official". The repository name should be "Kinin-Code-Official".

Suggested change
<authors>Kinin-Code-Offical</authors>
<owners>Kinin-Code-Offical</owners>
<license type="expression">MIT</license>
<projectUrl>https://github.com/Kinin-Code-Offical/cloudsqlctl</projectUrl>
<authors>Kinin-Code-Official</authors>
<owners>Kinin-Code-Official</owners>
<license type="expression">MIT</license>
<projectUrl>https://github.com/Kinin-Code-Official/cloudsqlctl</projectUrl>

Copilot uses AI. Check for mistakes.
$packageName = 'cloudsqlctl'
$packageVersion = '0.4.15'

$zipUrl = "https://github.com/Kinin-Code-Offical/cloudsqlctl/releases/download/v$packageVersion/cloudsqlctl-windows-x64.zip"
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling error: "Offical" should be "Official". The repository name should be "Kinin-Code-Official".

Suggested change
$zipUrl = "https://github.com/Kinin-Code-Offical/cloudsqlctl/releases/download/v$packageVersion/cloudsqlctl-windows-x64.zip"
$zipUrl = "https://github.com/Kinin-Code-Official/cloudsqlctl/releases/download/v$packageVersion/cloudsqlctl-windows-x64.zip"

Copilot uses AI. Check for mistakes.
Comment on lines +111 to +112
$ps1 = $ps1 -replace "(?m)^(\\$packageVersion\\s*=\\s*)'.*'$", "`$1'$ver'"
$ps1 = $ps1 -replace "(?m)^(\\$zipSha256\\s*=\\s*)'.*'$", "`$1'$zipSha'"
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incorrect regex escaping: The dollar signs in the regex capture group references are being escaped unnecessarily with backslashes. In PowerShell, within double quotes, \$ should just be $ to reference variables. The pattern should be "(?m)^(\$packageVersion\s*=\s*)'.*'$" with a literal dollar sign for the regex pattern, not "(?m)^(\\$packageVersion\\s*=\\s*)'.*'$" with escaped backslashes.

Suggested change
$ps1 = $ps1 -replace "(?m)^(\\$packageVersion\\s*=\\s*)'.*'$", "`$1'$ver'"
$ps1 = $ps1 -replace "(?m)^(\\$zipSha256\\s*=\\s*)'.*'$", "`$1'$zipSha'"
$ps1 = $ps1 -replace '(?m)^(\$packageVersion\s*=\s*)''.*''$', "`$1'$ver'"
$ps1 = $ps1 -replace '(?m)^(\$zipSha256\s*=\s*)''.*''$', "`$1'$zipSha'"

Copilot uses AI. Check for mistakes.
Comment on lines +119 to +121
$yaml = $yaml -replace "(?m)^PackageVersion:\\s*.*$", "PackageVersion: $ver"
$yaml = $yaml -replace "(?m)^\\s*InstallerUrl:\\s*.*$", " InstallerUrl: https://github.com/$ownerRepo/releases/download/v$ver/$installerName"
$yaml = $yaml -replace "(?m)^\\s*InstallerSha256:\\s*.*$", " InstallerSha256: $installerSha"
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incorrect regex escaping: The backslashes before spaces in the regex patterns are unnecessary. In PowerShell regex patterns within double-quoted strings, \s represents whitespace characters. The pattern should be "(?m)^PackageVersion:\s*.*$" not "(?m)^PackageVersion:\\s*.*$", and similarly for the other YAML patterns on lines 120-121.

Suggested change
$yaml = $yaml -replace "(?m)^PackageVersion:\\s*.*$", "PackageVersion: $ver"
$yaml = $yaml -replace "(?m)^\\s*InstallerUrl:\\s*.*$", " InstallerUrl: https://github.com/$ownerRepo/releases/download/v$ver/$installerName"
$yaml = $yaml -replace "(?m)^\\s*InstallerSha256:\\s*.*$", " InstallerSha256: $installerSha"
$yaml = $yaml -replace "(?m)^PackageVersion:\s*.*$", "PackageVersion: $ver"
$yaml = $yaml -replace "(?m)^\s*InstallerUrl:\s*.*$", " InstallerUrl: https://github.com/$ownerRepo/releases/download/v$ver/$installerName"
$yaml = $yaml -replace "(?m)^\s*InstallerSha256:\s*.*$", " InstallerSha256: $installerSha"

Copilot uses AI. Check for mistakes.
Install:

```powershell
scoop bucket add cloudsqlctl https://github.com/Kinin-Code-Offical/cloudsqlctl
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling error: "Offical" should be "Official". The repository name should be "Kinin-Code-Official".

Suggested change
scoop bucket add cloudsqlctl https://github.com/Kinin-Code-Offical/cloudsqlctl
scoop bucket add cloudsqlctl https://github.com/Kinin-Code-Official/cloudsqlctl

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,16 @@
PackageIdentifier: KininCodeOffical.CloudSQLCTL
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling error: "Offical" should be "Official". The PackageIdentifier should be "KininCodeOfficial.CloudSQLCTL".

Suggested change
PackageIdentifier: KininCodeOffical.CloudSQLCTL
PackageIdentifier: KininCodeOfficial.CloudSQLCTL

Copilot uses AI. Check for mistakes.
Comment on lines +7 to +10
<authors>Kinin-Code-Offical</authors>
<owners>Kinin-Code-Offical</owners>
<license type="expression">MIT</license>
<projectUrl>https://github.com/Kinin-Code-Offical/cloudsqlctl</projectUrl>
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling error: "Offical" should be "Official". The author and owner names should be "Kinin-Code-Official".

Suggested change
<authors>Kinin-Code-Offical</authors>
<owners>Kinin-Code-Offical</owners>
<license type="expression">MIT</license>
<projectUrl>https://github.com/Kinin-Code-Offical/cloudsqlctl</projectUrl>
<authors>Kinin-Code-Official</authors>
<owners>Kinin-Code-Official</owners>
<license type="expression">MIT</license>
<projectUrl>https://github.com/Kinin-Code-Official/cloudsqlctl</projectUrl>

Copilot uses AI. Check for mistakes.
$packageVersion = '0.4.15'

$zipUrl = "https://github.com/Kinin-Code-Offical/cloudsqlctl/releases/download/v$packageVersion/cloudsqlctl-windows-x64.zip"
$zipSha256 = 'ec77bf329e2ff67d25d33877ac0a13a1f4c8fccf39bb00cc2fde139a9ea9ad11'
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hash mismatch: The Scoop manifest and Chocolatey install script contain different SHA256 hashes for what should be the same asset (cloudsqlctl-windows-x64.zip). Scoop has 'e6a65a7cec3a858bc3affb002e07ee04c09fd6ac42beac5811458deedd62ef84' while Chocolatey has 'ec77bf329e2ff67d25d33877ac0a13a1f4c8fccf39bb00cc2fde139a9ea9ad11'. These should match or indicate that different assets are being referenced.

Suggested change
$zipSha256 = 'ec77bf329e2ff67d25d33877ac0a13a1f4c8fccf39bb00cc2fde139a9ea9ad11'
$zipSha256 = 'e6a65a7cec3a858bc3affb002e07ee04c09fd6ac42beac5811458deedd62ef84'

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

P2: winget/choco/scoop distribution

2 participants