ReferenceCI & release
Holepunch GitHub Actions
Reference for the shared composite GitHub Actions in holepunchto/actions used to build, sign, publish, and recover Pear applications.
holepunchto/actions is a collection of reusable composite GitHub Actions for building, signing, publishing, and recovering Pear applications and Holepunch modules. Reference one with:
- uses: holepunchto/actions/<name>@v1There is no project-scaffolding action. To bootstrap a new Pear project, clone the hello-pear-electron template. The actions below automate CI/CD once a project exists.
Pear app CI/CD
| Action | Purpose | Key inputs / outputs |
|---|---|---|
make-pear-app | Run npm run make for the host OS with code signing and notarization, then upload distributables as artifacts. Handles its own setup-node + npm ci; precede it with actions/checkout@v4. See Build and sign desktop apps in CI. | In: channel (required), upgrade_key, macOS signing/notarization (macos_certificate_base64, macos_p12_password, macos_codesign_identity, macos_notarization_method = appstore_connect | apple_id_password, plus the matching API-key or Apple-ID fields), Windows signing (windows_signing_method = windows_cert_sha1 | windows_cert_pfx, plus cert fields), linux_set_up_snapcraft. Out: artifact-links |
pear-ci | Stage a directory into a Hyperdrive on every run, producing a stable pear:// link. Documented in full at pear-ci GitHub Action. | primary-key, namespace, target, dry-run; out: pr-url |
pear-provision-recover | Recover a provision drive from the network into a new writable drive (runs the pear-provision-recover CLI). Used to rebuild write access—see Recovering from lost write access. | path, key, length, blobs-length, primary-key, name (all required) |
Release
| Action | Purpose | Key inputs |
|---|---|---|
publish | npm publish (honoring dist-tag and workspaces) then create a GitHub release via create-release. | tag (default latest), workspaces, include-workspace-root, node-auth-token |
create-release | npm pack the packages and attach the tarballs to a gh release create for the current ref. | workspaces, include-workspace-root |
trigger-canary | Dispatch a release event to the holepunchto/canary-tests repo so downstream canary tests run against a new release. | repository, ref, token (all required) |
See also
- Build and sign desktop apps in CI—the
make-pear-appwalkthrough. - Publish with GitHub Actions and pear-ci GitHub Action—staging with
pear-ci. - Build desktop distributables—the manual signing flow
make-pear-appautomates. - Native-addon CI prebuilds—the same
holepunchto/actionscollection's actions for building native Bare addons across platforms.