Skip to content

Switch winget publishing to manual PR workflow#22

Merged
harumiWeb merged 1 commit intomainfrom
winget-publish
Apr 4, 2026
Merged

Switch winget publishing to manual PR workflow#22
harumiWeb merged 1 commit intomainfrom
winget-publish

Conversation

@harumiWeb
Copy link
Copy Markdown
Owner

@harumiWeb harumiWeb commented Apr 4, 2026

Summary

  • stop GoReleaser after pushing winget manifests to the harumiWeb/winget-pkgs fork
  • switch upstream microsoft/winget-pkgs PR creation to a manual step and update ADR/task notes
  • add a v0.5.2 changelog entry for the release workflow fix

Why

The v0.5.1 release succeeded through GitHub Releases and fork push, but failed when GoReleaser tried to open a cross-repository PR against microsoft/winget-pkgs with a fine-grained PAT. This change keeps the automated part that works and removes the failing step from the release workflow.

Verification

  • goreleaser check
  • goreleaser release --snapshot --clean --skip=publish
  • pre-commit hooks during git commit: goimports, lint, test

Open with Devin

Summary by CodeRabbit

  • Changed

    • Updated winget manifest release workflow to automate pushing to fork while requiring manual pull request creation to the upstream repository.
  • Fixed

    • Mitigated release workflow failure in cross-repository pull request creation.

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 4, 2026

📝 Walkthrough

Walkthrough

The pull request modifies the Winget release workflow by disabling automatic pull request creation to the upstream microsoft/winget-pkgs repository in GoReleaser configuration. This shifts the cross-repository PR creation from automatic to manual operation as a workaround for fine-grained PAT access restrictions.

Changes

Cohort / File(s) Summary
GoReleaser Configuration
.goreleaser.yaml
Disabled automatic pull request creation to microsoft/winget-pkgs by setting pull_request.enabled to false for the Winget publisher.
Release Documentation
CHANGELOG.md
Added version 0.5.2 release notes documenting the workflow change to automate fork push while requiring manual upstream PR creation, and a mitigation for fine-grained PAT HTTP 403 failures.
Architecture Decision Records & Feature Specs
docs/adr/0003-release-and-update-policy.md, tasks/feature_spec.md
Updated documentation to reflect the new workflow where manifests are pushed to fork automatically but upstream PR creation becomes a manual operational step.
Task Management & Lessons Learned
tasks/lessons.md, tasks/todo.md
Added documentation about PAT owner boundary constraints for cross-repository operations and updated todo items to remove automated upstream PR verification while adding manual PR creation as an operational task.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • docs: replace design doc with ADRs #5: Modifies the release/update policy around GoReleaser/Winget publishing and adjusts the Winget release workflow automation with related documentation changes.

Poem

🐰 A fork in the road, we've chosen with care,
Pushed manifests swift through the automated air,
But upstream PRs now need a gentle hand,
Fine-grained PATs have drawn their line in the sand! 🪶

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Switch winget publishing to manual PR workflow' directly and accurately summarizes the main change: converting the winget publishing process from automatic PR creation to manual PR creation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch winget-publish

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
Copy Markdown

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

Copy link
Copy Markdown

@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: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CHANGELOG.md`:
- Around line 8-17: The changelog's reference links are stale: add a reference
entry for "[0.5.2]" and update the "[Unreleased]" compare link so it no longer
points from "v0.5.1"; specifically, add a link definition for [0.5.2] that
compares v0.5.1...v0.5.2 and adjust the [Unreleased] link target to the new
baseline (e.g., v0.5.2...HEAD or the appropriate repo/commit range) so both
[Unreleased] and [0.5.2] are defined and resolve correctly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9bfeae65-5176-413e-9a43-36495d59f5bb

📥 Commits

Reviewing files that changed from the base of the PR and between 7eb3375 and 81d5c63.

📒 Files selected for processing (6)
  • .goreleaser.yaml
  • CHANGELOG.md
  • docs/adr/0003-release-and-update-policy.md
  • tasks/feature_spec.md
  • tasks/lessons.md
  • tasks/todo.md

Comment on lines +8 to +17
## [0.5.2] - 2026-04-04

### Changed

- winget manifest の公開フローは `harumiWeb/winget-pkgs` fork への push までを自動化し、`microsoft/winget-pkgs` への PR は手動作成に切り替えました。

### Fixed

- fine-grained PAT で upstream への cross-repository PR 作成が 403 になり、release workflow 全体が失敗する問題を回避しました。

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Update changelog reference links for 0.5.2.

After adding Line 8 (0.5.2), the reference block still points [Unreleased] from v0.5.1 and does not define [0.5.2], so generated links become stale/missing.

Suggested fix
-[Unreleased]: https://github.com/harumiWeb/eitango/compare/v0.5.1...HEAD
+[Unreleased]: https://github.com/harumiWeb/eitango/compare/v0.5.2...HEAD
+[0.5.2]: https://github.com/harumiWeb/eitango/compare/v0.5.1...v0.5.2
 [0.5.1]: https://github.com/harumiWeb/eitango/compare/v0.5.0...v0.5.1
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CHANGELOG.md` around lines 8 - 17, The changelog's reference links are stale:
add a reference entry for "[0.5.2]" and update the "[Unreleased]" compare link
so it no longer points from "v0.5.1"; specifically, add a link definition for
[0.5.2] that compares v0.5.1...v0.5.2 and adjust the [Unreleased] link target to
the new baseline (e.g., v0.5.2...HEAD or the appropriate repo/commit range) so
both [Unreleased] and [0.5.2] are defined and resolve correctly.

@codacy-production
Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

TIP This summary will be updated as you push new changes. Give us feedback

@harumiWeb harumiWeb merged commit 322e77b into main Apr 4, 2026
8 checks passed
@harumiWeb harumiWeb deleted the winget-publish branch April 6, 2026 12:04
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.

1 participant