LogoPear Docs
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>@v1

There 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

ActionPurposeKey inputs / outputs
make-pear-appRun 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-ciStage 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-recoverRecover 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

ActionPurposeKey inputs
publishnpm 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-releasenpm pack the packages and attach the tarballs to a gh release create for the current ref.workspaces, include-workspace-root
trigger-canaryDispatch 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

On this page