Migrating from GitHub Actions
Depllo ships a converter that turns your GitHub Actions workflows into a
single .depllo-ci.yml. It maps what it can, and surfaces everything
it can't — as TODO comments in the output and lines in a conversion
report — so nothing is dropped silently.
Run the converter
The script lives in the repo at scripts/gha-to-depllo.mjs:
# Convert every .github/workflows/*.yml in a repo into ./.depllo-ci.yml
node scripts/gha-to-depllo.mjs .
# Or convert a single workflow, printing to stdout
node scripts/gha-to-depllo.mjs .github/workflows/ci.yml --stdout
# Write to a specific file
node scripts/gha-to-depllo.mjs . -o .depllo-ci.yml
It reads your workflows, emits one merged .depllo-ci.yml, and prints a
conversion report to stderr — counts of mapped / omitted / unmapped
actions, plus the secret variables you'll need to create in Depllo
project settings.
What maps
- Jobs become Depllo jobs;
runs-onis dropped (Depllo picks a Docker runner). run:steps becomescript:lines.needs:carries over directly.- Common expressions translate to predefined variables, e.g.
${{ github.sha }}→$CI_COMMIT_SHA,${{ github.ref_name }}→$CI_COMMIT_REF_NAME,${{ github.repository }}→$CI_PROJECT_PATH. secrets.FOOreferences are collected and reported so you can add them under Settings → Variables.- Matrices are expanded into concrete jobs (capped to keep the output sane).
- Stages are ordered
test → build → deployto avoid stage-barrier deadlocks.
What you'll finish by hand
uses:actions (Marketplace actions) have no Depllo equivalent — they're surfaced asTODOcomments. Replace them with the underlying shell commands, or a script.services:(databases/caches) are flagged asTODO(services). Depllo's service containers (PostgreSQL/Redis) are in early access — contact us to enable them on your workspace.- Complex
${{ }}expressions that don't map are kept verbatim with aTODOso you can port them.
After converting
- Review the generated
.depllo-ci.ymland resolve everyTODO. - Create the reported secrets under Project → Settings → Variables (mark tokens masked).
- Commit the file and push — Depllo builds the commit.
- Once green, disable the GitHub Actions workflow (or delete it). Many teams keep the old workflow file in place but disabled as a fallback.
See the .depllo-ci.yml reference for the full set of keys you can hand-tune.