Skip to main content

Cloud Updates

This page is for maintainers moving an existing cloud installation to a newer PRFlow release.

Preview an Update

Download the newer installer and use the same new release tag for its payload:
An existing installation runs in dry-run mode by default. The installer does not intentionally change the target repository in this mode. It can create temporary files, and it still executes the downloaded installer. Inspect and verify the file before running it.

Apply the Update

After reviewing the preview, apply the same payload:
Review git status and git diff before committing. Re-running the installer refreshes managed workflows, actions and the schema. It backfills newly scaffolded config keys while preserving existing values and arrays.

Resolve Preserved Files

The installer records managed-artifact digests in .prflow/install-manifest.json. On an update:
  • An unchanged managed file can be replaced with the new version.
  • A locally modified file is preserved.
  • A file with no verifiable recorded digest is preserved.
  • The proposed replacement is written beside a preserved file as <path>.prflow-new.
Compare each sidecar with the file you maintain. Merge the needed changes by hand, then remove the sidecar. Sidecars are ignored so a broad git add -A does not commit them accidentally. If Python cannot run, the installer cannot compare managed files or write the provenance manifest. It preserves existing artifacts and writes sidecars rather than risk overwriting local work. Fix Python, then run the same update again.

Keep Runtime and Workflow Pins Together

In thin mode, prflow_version controls the plugin fetched by the installed workflows. The installer re-stamps an empty or SHA-shaped value to the commit it installed. It preserves a hand-set non-SHA value such as a tag or branch. Updating only the workflows or only prflow_version can leave two halves of a feature out of sync. Prefer running the installer with the new tag and reviewing the resulting pin in the same change. In vendored mode, prflow_version is ignored because the committed .prflow/vendor/prflow/ tree supplies the runtime.