Skip to content

feat(build): add Linux AppImage target and release workflow - #46

Open
matsuzaka-yuki wants to merge 1 commit into
Jaxton07:mainfrom
matsuzaka-yuki:feat/linux-appimage-support
Open

feat(build): add Linux AppImage target and release workflow#46
matsuzaka-yuki wants to merge 1 commit into
Jaxton07:mainfrom
matsuzaka-yuki:feat/linux-appimage-support

Conversation

@matsuzaka-yuki

Copy link
Copy Markdown

Description

This pull request introduces official Linux build support by adding an AppImage packaging target and integrating it into the release pipeline.

Changes

  • electron-builder configuration: Added a linux target in packages/desktop/electron-builder.yml configured for AppImage (x64), specifying executableName: percho and artifact pattern percho-linux-${arch}.${ext}.
  • Release workflow: Added ubuntu-latest to the GitHub Actions build matrix in .github/workflows/release.yml, excluded unpacked directories from release artifacts, and included Linux in the published release release notes table.
  • Documentation: Updated platform badges and download tables in README.md, README.zh.md, and CONTRIBUTING.md.

Verification

The changes have been thoroughly verified locally on a Linux x86_64 environment:

  1. Build and Packaging: Successfully built packages/desktop/dist/percho-linux-x86_64.AppImage along with latest-linux.yml for updater metadata.
  2. Runtime Execution: Launched the packaged AppImage and verified that:
    • The application window opens and renders correctly.
    • The embedded Pi backend engine, session management, and project trust checks initialize without errors.
    • The update checker correctly attempts update checks against the repository.
  3. CI Checks:
    • npm run lint passed cleanly (checked 381 files, no errors).
    • npm run typecheck passed without errors across all packages.
    • npm run test passed all backend unit test suites.
    • npm run build succeeded.

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