Compare · Migrating to GitHub
Actions Importer translates one pipeline at a time and hands your engineers the rest. CodeCargo migrates the estate.
1 pipeline
per dry-run or migrate command
Every pipeline
Discover, scan, and migrate them at the same time
80%
conversion goal per workflow; the rest is manual
1 review
per pipeline family, not per pipeline
Unsupported
scripted Jenkins pipelines, per GitHub’s docs
Converted
scripted and declarative Jenkinsfiles and shared libraries
None
repositories, secrets, runners or cutover
All of it
repositories, pipelines, secrets, teams and cutover
The difference
GitHub Actions Importer is a translator. Point it at one pipeline and it writes one GitHub Actions workflow. GitHub's stated goal is an 80% conversion rate per workflow, and everything else comes back as manual tasks: secrets, self-hosted runners, unknown plugins and tasks, environments and approvals. On Jenkins, GitHub's own docs list scripted pipelines as unsupported.
That works for ten pipelines. At two thousand it means two thousand separate translations, two thousand pull requests and hundreds of manual-task lists for your engineers to finish, with nothing grouping the work, tracking it or cutting it over. And because each pipeline is translated as it is, you land with two thousand slightly different copies of the same build.
CodeCargo migrates the estate. It inventories every repository and pipeline, groups pipelines into families, converts each family once onto shared building blocks your platform team owns, ships them in waves of pull requests, and cuts over with approvals and rollback at every step. Repositories move too, through GitHub Enterprise Importer, and our migration team takes the pipelines nobody wants to touch.
Side by side
What each one does at every stage of a migration. Actions Importer's column is from GitHub's documentation, linked below.
| Stage | CodeCargo | GitHub Actions Importer |
|---|---|---|
| Unit of work | The whole estate, as one program: inventory, families, waves and cutover | One pipeline per dry-run or migrate command, with one pull request each |
| Conversion | AI conversion that reads each pipeline as code: scripted and declarative Jenkinsfiles, shared libraries, Azure DevOps YAML and Classic, GitLab CI. Bitbucket Pipelines, CircleCI and Bamboo run by our migration team | Rule-based translation with an 80% conversion goal per workflow. Scripted Jenkins pipelines unsupported; unknown plugins and tasks left unconverted |
| What lands in GitHub | Thin workflows that call shared reusable workflows and composite actions your platform team owns, checked against your standards before they merge | One standalone workflow per pipeline: a copy of whatever the pipeline did before |
| Left for your engineers | A review per pipeline family. Our migration team handles the edge cases | A manual-task list per pipeline: secrets, self-hosted runners, unknown steps, service connections, environments and approvals |
| Repositories | Moved in the app through GitHub Enterprise Importer, in runs with preflight checks and failures sorted for retry | Not included. Repositories need GitHub Enterprise Importer, run separately |
| Running it at scale | Waves and batches, a progress view across every repository and team, and every ready pull request opened in one click | A CLI extension and Docker container on an engineer’s machine. Audit and forecast reports, then pipelines one by one |
| Cutover | Source branches rewired, pipelines relinked and old systems set read-only, each step approved first and reversible after | Not included |
| After the move | Manage keeps every workflow on your standards, fixes drift as pull requests and triages GHAS alerts | Nothing. The job ends at the pull request |
| Cost | The free Starter plan includes everything on up to 10 repositories; paid plans are priced to your estate | Free to run. The manual tasks it leaves are paid in engineering time |
Which one fits
GitHub's free command-line tool for translating CI pipelines into GitHub Actions workflows, one pipeline per run.
Best when
A migration platform and team that move the whole estate as one program, onto shared building blocks, in waves, with cutover and rollback.
Best when
Where GitHub’s tools fit
For repositories, GitHub's Enterprise Importer is the right engine, so CodeCargo uses it, and adds everything around it that the CLI leaves to you.
Every repository inventoried, and what would fail flagged before the copy starts: large repositories, LFS, empty repositories and over-long ref names.
The repository copy is GitHub's own, run in waves from one place, not from a script on someone's laptop.
Failures are sorted into categories with retry guidance, and every run has its own progress view and logs.
Pipelines convert by family onto shared reusable workflows and composite actions, then open as pull requests for each team to review.
Tell us what you're migrating from and how big the estate is, and we'll show you the plan.
Yes, and it goes further. Actions Importer translates one pipeline per command and aims for 80% of each workflow. CodeCargo groups pipelines into families, converts each family once onto shared building blocks, moves the repositories, and runs the waves and cutover.
No. GitHub's documentation lists scripted pipelines among the constructs you must migrate manually, along with secrets, self-hosted runners and unknown plugins. CodeCargo's AI conversion reads scripted and declarative Jenkinsfiles and shared libraries as code.
At small scale you can. At estate scale the conversion is the cheap part. The expensive part is finishing hundreds of manual-task lists, keeping thousands of translated copies consistent, moving repositories and cutting over without breaking teams, which is the work CodeCargo is built for.
Because the tool is free and the migration is not. Every pipeline it leaves at 80% costs an engineer the other 20%, and every copied pipeline is one more thing to maintain. You can run a free pilot on 10 repositories with the Starter plan before you commit.
Yes. Repositories move through GitHub Enterprise Importer, GitHub's own engine for repository copies. CodeCargo adds the inventory, preflight checks, waves, failure handling and tracking around it.
GitHub Actions Importer stops at the pull request. With Manage, CodeCargo keeps working: every workflow held to your standards, drift fixed as pull requests, GHAS alerts triaged, and CargoWall controlling runner egress.