Files
LiHaohua 6565e542ee Rename to CardputerZero AppBuilder and add Tauri CI/CD
- Update product name, identifier, and window title
- Add build-tauri.yml: builds on Linux/macOS/Windows, creates GitHub release on tags
- Update README, docs, package.json, index.html

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 12:09:44 +08:00

3.7 KiB
Raw Permalink Blame History

CardputerZero AppBuilder

Online build system for M5CardputerZero applications. Submit any public Git repository and get a ready-to-install .deb package — no local toolchain required.

How It Works

  1. Go to Actions > Build DEB Package > Run workflow

  2. Fill in the form:

    Field Required Example Description
    Repository URL Yes https://github.com/eggfly/M5CardputerZero-UserDemo.git Any public HTTP Git URL (GitHub, GitCode, Gitee, etc.)
    Branch No master Leave empty to use the repository's default branch
  3. The system automatically scans for app-builder.json files in the repo, builds each project, and packages them as .deb

  4. Download the .deb from the workflow run's Artifacts section

app-builder.json

Place this file in each project directory that should be built:

{
  "package_name": "userdemo",
  "version": "0.1",
  "app_name": "UserDemo",
  "bin_name": "M5CardputerZero-UserDemo",
  "description": "M5CardputerZero User Demo Application"
}

Install on Device

scp <package>_arm64.deb pi@<device-ip>:/tmp/
ssh pi@<device-ip> "sudo dpkg -i /tmp/<package>_arm64.deb"

Architecture

The CI pipeline runs on x86_64 and cross-compiles to ARM64 (aarch64) using the aarch64-linux-gnu- toolchain — the same approach used by the M5Stack_Linux_Libs SDK. This is significantly faster than emulated ARM64 builds.

User Input (repo URL)
        │
        ▼
  ┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
  │  git clone   │────▶│   discover   │────▶│ scons build  │────▶│  dpkg-deb    │
  │  --recursive │     │ app-builder  │     │ (x86→arm64)  │     │  packaging   │
  └──────────────┘     │    .json     │     └──────────────┘     └──────────────┘
                       └──────────────┘              │
                              │                      ▼
                        N projects          N × .deb artifacts
                        (parallel)            (download)

DEB Package Structure

Generated packages follow the APPLaunch packaging conventions:

<package>.deb
├── DEBIAN/
│   ├── control
│   ├── postinst      (enable & start systemd service)
│   └── prerm         (stop & disable service)
├── lib/systemd/system/
│   └── <package>.service
└── usr/share/APPLaunch/
    ├── applications/<package>.desktop
    ├── bin/<executable>
    ├── lib/
    └── share/
        ├── font/*.ttf
        └── images/*.png

Future: Desktop IDE

CardputerZero AppBuilder is planned to become a cross-platform desktop IDE (Windows, macOS, Linux) for building M5CardputerZero applications locally — a visual scaffold for beginners and hobbyists to create, build, and deploy apps to their devices.

License

MIT