Skip to content

Add Linux ARM64 (aarch64) build support#1

Merged
Snowy7 merged 2 commits intomainfrom
feat/linux-arm64-support
Feb 25, 2026
Merged

Add Linux ARM64 (aarch64) build support#1
Snowy7 merged 2 commits intomainfrom
feat/linux-arm64-support

Conversation

@Snowy7
Copy link
Owner

@Snowy7 Snowy7 commented Feb 25, 2026

Summary

  • Adds arm64 to the Linux AppImage target architectures in package.json, alongside the existing x64
  • Adds a dedicated package-linux-arm64 job in the release workflow using GitHub's ubuntu-24.04-arm runner for native ARM64 builds
  • Adds a build-linux-arm64 CI job so ARM64 builds are validated on pull requests
  • The release job now waits for both x64 and arm64 package jobs before publishing

This enables SnCode to run natively on ARM64 Linux devices (e.g. NVIDIA Jetson, Raspberry Pi, Ampere servers, AWS Graviton).

Test plan

  • Verify CI passes with the new build-linux-arm64 job on ubuntu-24.04-arm
  • Trigger a test release and confirm the ARM64 AppImage is generated
  • Download and run the ARM64 AppImage on an aarch64 Linux device
  • Verify keytar (OS keychain) works correctly on ARM64

🤖 Generated with Claude Code

- Add arm64 to Linux AppImage target architectures in package.json
- Add dedicated linux-arm64 package job in release workflow using
  ubuntu-24.04-arm runner
- Add linux-arm64 build job in CI workflow for PR validation
- Release job now depends on both x64 and arm64 package jobs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings February 25, 2026 07:54
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

Adds native Linux ARM64 (aarch64) build and packaging support to the SnCode Electron app by extending electron-builder targets and updating CI/release workflows to build on an ARM64 GitHub Actions runner.

Changes:

  • Add arm64 to the Linux AppImage target architectures in package.json.
  • Add package-linux-arm64 to the release workflow and gate release publishing on both x64 + arm64 packaging.
  • Add build-linux-arm64 to CI to validate ARM64 builds on pull requests.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
package.json Expands linux AppImage target arches to include arm64.
.github/workflows/release.yml Adds an ARM64 packaging job and makes release depend on both packaging jobs.
.github/workflows/ci.yml Adds an ARM64 build job running on an ARM runner.

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

Comment on lines 129 to 134
{
"target": "AppImage",
"arch": [
"x64"
"x64",
"arm64"
]
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

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

Adding arm64 to the Linux build.linux.target[].arch list means the existing release.yml package job on ubuntu-latest (x64) will likely try to build both x64 and arm64 AppImages when it runs npx electron-builder without an explicit arch. That can break the Linux packaging job (cross-arch AppImage builds often fail on x64) and/or produce duplicate arm64 artifacts alongside the dedicated package-linux-arm64 job. Consider restricting the x64 Linux packaging run to --x64 (or removing arch from package.json and selecting the arch only via CI/job flags).

Copilot uses AI. Check for mistakes.
The dedicated package-linux-arm64 job passes --linux --arm64 explicitly,
so keeping arm64 in package.json would cause the x64 ubuntu-latest job
to attempt cross-arch AppImage builds that would fail.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Snowy7 Snowy7 merged commit ffd5da1 into main Feb 25, 2026
6 checks passed
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