Skip to main content
For your own GitHub repo, publish a release with gh release create <tag> --repo <owner/repo> or the GitHub UI. floo deploys that release’s commit to prod once it is LIVE in dev. The floo GitHub App only reads customer repos; floo never writes to them. For a floo-hosted project or an app with no repo, use floo releases promote.

list

List releases for an app.

Flags

JSON output


show

Show one release: tag, commit, promoted by, deploy ID, image digest. RELEASE_ID is the release’s UUID.

Flags

JSON output


promote

Promote the latest LIVE dev deploy to production for a floo-hosted project created with floo projects, whose repo floo hosts without requiring a GitHub account, or for an app with no repo. floo deploys to prod; for a floo-hosted project it then publishes a release on the repo floo hosts. An app connected to your own GitHub repo is refused with PROMOTE_USE_GITHUB_RELEASE. The command returns the tag and release URL; floo deploys list --app my-app tracks the background deploy.

What happens during promote

  1. Image selection. Promote deploys the images from the latest live dev deploy. It rebuilds only when the prod environment has a build-time env var (VITE_*, NEXT_PUBLIC_*, or REACT_APP_*); then each service is built again from the source deploy’s archived source with the prod values as build arguments.
  2. Migrations. Each declared migrate_command runs as a one-off job with prod env vars before traffic shifts. A failure stops promotion and leaves the previous live revision serving. Keep the old code compatible with schema changes through expand-then-contract migrations. floo redeploy --skip-migrations has no effect on promote.
  3. Routes. The shared app host ({app}.getfloo.app) and per-service hosts ({app}-{svc}.getfloo.app) are upserted, so stale routes from before a service rename are corrected.
  4. Access grants. The gateway is granted invoke access on public services, and the app identity on internal services.

Flags

Examples

JSON output

release_url is set for floo-hosted projects and null for an app with no repo.

rollback

Use floo deploys rollback to restore a previous live deploy’s image without rebuilding:
The app and deploy ID are positional arguments. --preflight previews the operation; --yes is required in non-interactive runs. Rollback keeps current environment configuration and does not undo database migrations.

Errors