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.
Local CI requires a license key for $20 per month.
But first you'll get a free 30-day trial, no credit card needed.
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.
If you haven't entered a license key, like during the free trial, 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.
If you have entered a license key, it only sends to the Local CI site a GET
request with the license key and a SHA-256
hash of your VS Code machineId.
This is to verify that the license key is only used on 1 machine.
Here's an example machineId: b068aef3da6acff9c9bf4f129135ffd56adbfa294aeb8117c7264164c1a277d4
And that machineId is hashed with SHA-256
before sending it in the GET
request.
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