Debug entire CircleCI® workflows locally, with Bash access and caching between jobs.
All in your local, no pushing commits and waiting. Not affiliated with CircleCI®.
Author: Ryan Kienstra, ryan@ryankienstra.com
Get Bash access to the running job by clicking 'Local CI debugging':
When the job exits, you'll still have Bash access to the job.
Run jobs faster when you cache dependencies.
Local CI supports the native restore_cache
and save_cache
values:
You can even run jobs that depend on other jobs, because this persists the workspace between jobs:
CI jobs can fail because of wrong dependency versions, or flaky combinations of events.
You'll get local Bash access to jobs, so you'll usually be able to see what's wrong and fix it.
Thanks to CirleCI-Public/cirlceci-cli and mikefarah/yq, which this uses.
CircleCI® is a registered trademark of Circle Internet Services, Inc.
You can run most dynamic configs with Local CI.
Find out in seconds whether the setup is right, all in your local.
If you don't have a CircleCI® account, you can get started with CircleCI® for free.
A .circleci/config.yml
file should be somewhere in the VS Code workspace, using the 2.x configuration.
If there's more than one .circleci/config.yml
file, click the gear icon to select which one to use:
You can opt out of all telemetry by adding this to your VS Code settings.json
:
"telemetry.telemetryLevel": "off"
If you haven't opted out, here are the telemetry events sent via VS Code telemetry.
The only interaction this extension has with Local CI's site is if you optionally enter your email on first activating this extension.
It does interact with CircleCI® and Docker to process and run the jobs.
But the jobs still only run locally.
Local CI has no server that runs jobs, so the site has no knowledge of the jobs or any data from them.
Feel free to look at the source code for how Local CI works.
Local CI won't replace the CircleCI® service, it's a debugging tool to use with it.
If you think CI will pass, it'll probably be faster to simply push a commit and let CI run.
Local CI is not for making deployments.
GPL v2 or later