Skip to content

feat(ci): add Windows ARM64 packaging#2259

Draft
NihilDigit wants to merge 2 commits into
Predidit:mainfrom
NihilDigit:feat/windows-arm64-packaging
Draft

feat(ci): add Windows ARM64 packaging#2259
NihilDigit wants to merge 2 commits into
Predidit:mainfrom
NihilDigit:feat/windows-arm64-packaging

Conversation

@NihilDigit

Copy link
Copy Markdown
Contributor

Summary

Add Windows ARM64 packaging support to the existing PR and release workflows.

This depends on the Windows ARM64 libmpv support added in Predidit/media-kit#34, and updates Kazumi's media-kit pin to the merged upstream commit.

Changes

  • Split the existing Windows build job into windows-amd64 naming.
  • Add a Windows ARM64 PR build job on windows-11-arm.
  • Add Windows ARM64 release packaging for zip and MSIX.
  • Publish Windows artifacts with explicit architecture suffixes:
    • Kazumi_windows_<version>_amd64.zip
    • Kazumi_windows_<version>_arm64.zip
    • Kazumi_windows_<version>_amd64.msix
    • Kazumi_windows_<version>_arm64.msix
  • Update media-kit dependencies to Predidit/media-kit@11d02cb804b8faf944137834a1b0ac80880a4079.

Notes

The Windows ARM64 job sets up Flutter by cloning the pubspec-pinned Flutter SDK directly. subosito/flutter-action resolves SDK archives by runner architecture, while the pinned Windows Flutter release currently only publishes an x64 archive. This also avoids depending on jq / yq availability on windows-11-arm.

The release workflow reuses the existing SignPath configuration for Windows zip and MSIX signing. No new secrets are introduced.

Validation

  • Ran flutter pub get with the updated media-kit pin.
  • Checked the workflow diff against the existing Windows and Linux packaging jobs.

@kilo-code-bot

kilo-code-bot Bot commented Jun 23, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

The ARM64 build/release jobs faithfully mirror the existing amd64 jobs, artifact names are unique per architecture, the workflow-level env: block supplies the required secrets to all jobs, and the Flutter-version regex resolves correctly from environment.flutter in pubspec.yaml. The media-kit pin bump is applied consistently across pubspec.yaml and pubspec.lock.

Note (out of review scope — verify at runtime): dart run msix:create --architecture arm64 is assumed to support the --architecture flag (msix ^3.16.12) and to emit kazumi.msix under build/windows/arm64/runner/Release. This depends on third-party tool behavior that can't be statically verified.

Files Reviewed (4 files)
  • .github/workflows/pr.yaml
  • .github/workflows/release.yaml
  • pubspec.yaml
  • pubspec.lock

Reviewed by claude-4.8-opus-20260528 · Input: 4.1K · Output: 10.7K · Cached: 1.2M

@Predidit

Predidit commented Jun 23, 2026

Copy link
Copy Markdown
Owner

此pr完全破坏了升级功能的兼容性,因为原来的 x86 发布被重命名

我倾向于只升级 media-kit 而不实际发布,但是需要的用户可以在主分支进行编译

之前的 linux arm 也是这样,并且维持了很久

@NihilDigit NihilDigit marked this pull request as draft June 23, 2026 18:10
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.

2 participants