Skip to main content

lumio deploy

Upload a built extension bundle to Lumio as a new version. The version starts in draft status and must go through the submission wizard to enter the review process.

Usage

lumio deploy [-v <version>] [-d <description>] [--breaking] [--draft]

Example

# Build first, then deploy
lumio build
lumio deploy -v 1.2.0 -d "Added live score updates from ESPN"

Or let it read the version from lumio.config.json automatically:

lumio deploy -d "Fixed score display alignment"

Options

FlagAliasDescription
--version <semver>-vVersion string (default: reads from lumio.config.json)
--description <text>-dRelease notes / changelog for this version
--breakingFlag this version as a breaking change (disables auto-update for existing installs)
--draftUpload as draft without triggering the submission flow (default behavior — this flag is explicit)
--outdir <path>Location of the built bundle (default: .lumio-dist)

What happens on deploy

  1. CLI reads lumio.config.json and validates extensionId exists in Lumio
  2. Bundle from .lumio-dist/ (or --outdir) is uploaded as a multipart upload
  3. source.tar.gz is uploaded alongside the bundle
  4. A new ExtensionVersion record is created with status draft
  5. The CLI prints a link to the submission wizard
Deploying Sports Scoreboard v1.2.0...

Uploading editor bundle... ✓
Uploading layer bundle... ✓
Uploading server bundle... ✓
Uploading source archive... ✓

Version 1.2.0 deployed as draft.

Submit for review:
https://lumio.vision/dashboard/extensions/88b2478a.../versions/1.2.0/submit

CI/CD deployment

In CI environments, use LUMIO_TOKEN for authentication:

LUMIO_TOKEN=${{ secrets.LUMIO_TOKEN }} lumio deploy -v 1.2.0 -d "Automated release"

The CLI detects CI=true and skips interactive prompts.

Breaking changes

Mark a version as breaking to prevent auto-updates for users who have not manually reviewed the breaking change notes:

lumio deploy -v 2.0.0 --breaking -d "Storage format changed — manual migration required"

Breaking versions show a notice in the extension store and require users to manually accept the update.

Exit codes

Exit codeMeaning
0Deployment succeeded
1Authentication error (run lumio login)
2Validation error (missing build, invalid version, etc.)
3Upload error (network failure, rate limit)
4Extension not found (invalid Extension-ID)