Skip to content

feat: add windows installation through scoop - #3879

Draft
amitksingh1490 wants to merge 3 commits into
mainfrom
investigation/2268-scoop
Draft

amitksingh1490 wants to merge 3 commits into
mainfrom
investigation/2268-scoop

Conversation

@amitksingh1490

@amitksingh1490 amitksingh1490 commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Related to #2268 (not claiming completion). Adds only bucket/forge.json and a Windows/Scoop section in the existing README. Draft: native Windows lifecycle verification remains blocked.

  • Repository-hosted bucket, install with scoop bucket add forgecode https://github.com/tailcallhq/forgecode then scoop install forgecode/forge after the manifest lands on the default branch. For pre-merge testing, check out this PR branch in the local bucket clone before installing; default main does not yet contain this manifest.
  • Packages real v2.13.21 native x64 and ARM64 Windows executables, Apache-2.0, downloaded and independently hashed. #/forge.exe gives both architectures the same executable/shim name.
  • Includes GitHub checkver and architecture-specific autoupdate URL templates. No install/uninstall scripts, dependencies, global environment changes, or release/repository automation changes.
  • Documents Scoop-managed upgrades and removal; maintainers must run the documented Scoop updater, review/test, and commit version/hash changes. scoop update does not execute checkver/autoupdate: without committed manifest updates this bucket stays pinned. Agreeing who maintains these updates is outstanding.

Prior work / upstream review

Refreshed issue, comments, timeline, related open/closed PRs and main via gh. #3056 changed only labels/release-drafter rules, not packaging. Closed/unmerged #3804 changes the native self-updater, not Scoop; not duplicated here. No ForgeCode manifest found via ScoopInstaller code/PR searches or complete Main/Extras trees. Main's deprecated forge.json packages an unrelated F# tool; use the bucket-qualified name to avoid ambiguity.

Current release workflow already builds both Windows MSVC targets. Published release: https://github.com/tailcallhq/forgecode/releases/tag/v2.13.21. Its release workflow succeeded: https://github.com/tailcallhq/forgecode/actions/runs/30652596663. That is asset-production evidence, NOT validation of this PR or a native install test.

Validation completed on Linux

  • Downloaded only the two Windows assets via gh release download v2.13.21 --pattern '*pc-windows-msvc.exe'; independently checked SHA-256 against GitHub digest and manifest, size, PE signature and machine architecture.
    • x64: c7e4ad1aef8d2a84f51560f6b6faec32235b779dad8c7587b7262651ba6b40c6
    • ARM64: abf8fdded4bc710c41a69142b4b62ee22b61161a85c027396c135742668cbfa8
  • Python jsonschema.Draft7Validator against current upstream Scoop schema: PASS.
  • Stable-release/version mapping, release-tag license, rename/bin mapping: PASS.
  • Update URL substitution matches both current assets and both assets for v2.13.20, v2.13.19, v2.13.18: PASS. This is static template/release API checking, not execution of Scoop's PowerShell updater.
  • git diff --check: PASS. No Rust changed; no full Rust build/tests/lints, with approximately 1 GB free after downloads.
  • Durable evidence/check script/patch: /home/forge/issue-patches/2268; worktree /home/forge/worktrees/2268, branch investigation/2268-scoop.

Outstanding verification / blockers

No native Windows host or PowerShell/Scoop is available in this Linux environment. NOT RUN: Scoop schema/Pester tests, actual checkver.ps1 -Update, x64/ARM64 installation, forge --help/--version, noninteractive -p smoke test with a configured provider, previous-version-to-current upgrade (including scoop update *), shim/PATH precedence, locked executable handling, uninstall/shim removal and user-data preservation. The debug-cli skill was read; a Linux Rust build cannot establish native Windows packaging correctness and was intentionally not run.

Windows reviewers: select this PR branch in the bucket clone, exercise both architectures and update/uninstall paths, and confirm only the Scoop-managed executable changes. Close running Forge processes and use Scoop rather than the built-in updater. No 32-bit Windows asset is advertised.

Keep draft/Blocked until these checks and latest-head CI review are complete. No workflow approvals, force pushes, merges, or automatic issue closure requested.

Co-Authored-By: ForgeCode noreply@forgecode.dev

Co-authored-by: ForgeCode <noreply@forgecode.dev>
@github-actions github-actions Bot added os: windows Windows-specific issue or feature. type: feature Brand new functionality, features, pages, workflows, endpoints, etc. labels Sep 16, 2026
@amitksingh1490

Copy link
Copy Markdown
Contributor Author

Blocked: autofix scope drift after draft publication

At 2026-09-16 04:51 UTC, autofix.ci pushed 42843e630 over the authored 327cb73a4. The authored Scoop implementation was 2 files, +62/-0. The PR is now 141 files, +1268/-835; the bot-only diff is 139 unrelated files, +1206/-835. README.md and bucket/forge.json are unchanged by the bot. Full counts come from a fetched git diff (the PR GraphQL files response was capped at 100).

The initial authored-head Build/Test and zsh performance run was cancelled (35056962484). Initial autofix run 35056962471 reports success for Fmt and both Clippy steps but failure at Autofix after pushing its commit. Current bot-head Build/Test and performance checks are queued; another Lint Fix run is in progress. No latest-head CI success is being claimed.

Independent Linux schema/download/hash/PE/update-template checks apply to the authored Scoop files only, not the expanded bot changes. Native Windows installation, execution, update, uninstall and actual PowerShell updater tests remain unperformed. Maintainer ownership of committing future manifest updates also remains outstanding.

Durable authored commit patch: /home/forge/issue-patches/2268/authored-commit.patch; bot delta: /home/forge/issue-patches/2268/autofix-drift.patch. Local worktree /home/forge/worktrees/2268 remains clean at the authored commit. No force push, bot-change cleanup commit, workflow approval or automation change was made.

Maintainer action needed: resolve the unrelated autofix expansion while preserving the two-file packaging scope, then rerun/review final-head CI and perform native Windows lifecycle checks. This draft is not PR Ready.

Co-Authored-By: ForgeCode noreply@forgecode.dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

os: windows Windows-specific issue or feature. type: feature Brand new functionality, features, pages, workflows, endpoints, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant