Skip to main content

Deploy from GitHub

This path takes a Node.js background worker from source to an inspectable Liskov Application. The workflow builds and tests your code, pins immutable bytes to the InterPlanetary File System (IPFS), a content-addressed storage network, and records GitHub OpenID Connect (OIDC) identity. Publication and deployment remain separate, explicit steps.

Publication availability

The reusable build, pin, and OIDC workflow is live at @v1 (verified with v1.2.2). Own-repository Manifest V4 publication is still rollout-gated by organization. Confirm that publication is enabled for your organization before treating this whole journey as available.

Before you begin

Complete Set up Liskov. You need:

  • a GitHub repository you can authorize for Liskov;
  • Node.js 22 or later and pnpm 10 for the supported example shape;
  • a background workload that can be bundled as dist/app.cjs; and
  • enough Service Credits for the displayed deployment reserve.

Repository checks take as long as your project build; processor acceptance and runtime startup are external waits with no fixed duration.

1. Prepare the workload

Follow Repository and workload requirements and Use the runtime SDK. The process must bootstrap the runtime before application work, report readiness, and stay within the configured outbound-network and resource limits.

2. Author Manifest V4

Create .liskov/application-manifest.json. Use Author an Application Manifest V4 for the supported starter document. Set the GitHub builder authority to your exact repository, allowed branch ref, workflow path, and manifest path.

Validate before import:

proof liskov application manifest validate \
--file .liskov/application-manifest.json

Validation is read-only. Save the returned authored and release-intent digests; they distinguish the document you wrote from the release-bearing intent used by the build.

3. Add the reusable workflow

Add .github/workflows/liskov.yml using the verified example in Build and attest with GitHub Actions. It calls:

uses: proof-computer/liskov-github-actions/.github/workflows/acurast-app.yml@v1

The called workflow runs install, typecheck, tests, and build; pins the bundle without a spend-capable credential; then records the GitHub repository, ref, commit, workflow, content identifier (CID), digest, and manifest digests with Liskov. It does not publish a policy or deploy an Acurast job.

4. Import the draft

Install the public command-line interface (CLI) if needed:

npm install --global @proof-computer/proof-cli
proof plugins install @proof-computer/proof-cli-liskov
proof liskov login

Import the manifest from GitHub:

proof liskov application import \
--github OWNER/REPOSITORY:.liskov/application-manifest.json@main \
--server-fetch

Replace OWNER/REPOSITORY. Import creates or updates a draft; it never publishes, deploys, or spends.

5. Build and select the artifact

Push the manifest, workload, and workflow to the allowed ref. After the workflow succeeds, record its artifact-version-id. Confirm that its commit, workflow, CID, digest, authored digest, and release-intent digest match the release you intend.

6. Preflight and publish

Run publication preflight:

proof liskov application publish APPLICATION_ID \
--artifact-version ARTIFACT_VERSION_ID \
--dry-run

This is read-only. Resolve every diagnostic, then publish deliberately:

proof liskov application publish APPLICATION_ID \
--artifact-version ARTIFACT_VERSION_ID \
--yes

Publication repeats preflight and uses the authored digest as a race fence. It does not authorize an unlimited spend; deployment still applies the effective policy caps, organization credits, quote, and reserve rules.

7. Verify deployment

Open the Application and follow your first deployment. Completion means more than a green workflow: verify the exact commit/workflow, artifact, policy digest, Acurast job/processor, and signed runtime contact in the proof chain.

If build, OIDC, artifact, import, or publication fails, use Build, attestation, import, and publication.