Optimizing CircleCI
Discover how to optimize your CircleCI builds and get the most out of your integrations with these helpful articles. Learn how to reduce build times and increase the reliability of your CI/CD pipelines.
84 articles
- Review Each Job for Improvement Opportunities
- Review Each Job for Improvement Opportunities: General Job Opportunities
- Review Each Job for Improvement Opportunities: Execution Environment Opportunities
- Review Each Job for Improvement Opportunities: Opportunities for Jobs with High Duration
- Review Each Workflow for Improvement Opportunities
- High Level Improvement Opportunities
- Inside a Config File: Config Security Opportunities
- Inside a Config File: Reusable Config Opportunities
- Inside a Config File: Dynamic Configuration
- Outside a Config File: Security Settings
- Outside a Config File: Secrets Management
- Outside a Config File: Storage Usage
- Outside a Config File: Project Settings
- Finalize the Config Review
- Debugging Slow or Hanging Jobs in CircleCI
- Using the Current Concurrency Snapshot Script
- Why Status Updates for Approval, No-Op Jobs and release Include Workflow Names
- How to Pass Environment Variables Between Steps in CircleCI
- Resolving Duplicate Pipeline Executions on CircleCI for GitHub Repositories
- Workspaces and Network Egress
- Avoiding Commit Conflicts in Your Pipelines with Serial-Jobs
- Is There a Limit on the Number of Approval Jobs You Can Have?
- Lowering Cache and Workspace Costs
- Required job did not run when using branch filters
- How can I trigger one pipeline from another?
- Utilizing the Usage API
- How to toggle Error Summarization
- Limit on Number of Scheduled Pipelines
- Build on Pull Requests and all commits
- Terraform Build Passing Errantly
- Merge Queues: Preventing Early Merges Before Triggering Build
- Configuring the Datadog Integration with CircleCI
- Learn why the duration time displayed for a job in CircleCI may differ from the total duration of its individual steps
- How To Estimate Network Ingress and Egress (Bytes) Within a Build
- How to optimize the restore_cache step for Node projects
- Speed up steps using a RAM disk
- Resolving "Failed to minify the bundle" Errors
- Shallow Repository Cloning
- Troubleshoot "Error uploading archive: MetadataTooLarge: Your metadata headers exceed the maximum allowed metadata size" save_cache Error
- GoLang Uses All Available Memory in Docker
- Creating a "daily" cache
- Troubleshooting why a build is failing due to a cache miss
- Troubleshooting restoring cache appears empty with a size of 32 bytes
- How can I remove my cached docker layers?
- How to fix `Error applying workspace layer for job`
- Troubleshooting Cache Not Found During Restore
- Why isn't Docker Layer Caching speeding up my "spin up" time?
- setup_remote_docker Is Slow To Spin Up
- How to Manage Cache Keys in CircleCI
- Exit Code 137 - Out of Memory
- Best practices for managing multiple configs
- How can I clear a CircleCI cache?
- Optimizing Build Performance on CircleCI's macOS Executors
- Best Practices for Minimizing AWS Data Transfer Costs with CircleCI and ECR
- How to set a custom maximum job duration
- CircleCI was unable to execute the job to completion, because the CircleCI runner received a kill signal midway through the job
- How to set the resource_class for docker and machine images
- How to get the compiled version of a config.yml
- How to set custom DNS for alpine images on CircleCI
- Receiving "Your compiled config is too large to be processed." How Can I Reduce my Config File Size?
- How to set custom DNS on Ubuntu based images using netplan
- How to Debug Docker Layer Cache Misses in a Build
- How To Use Caching With Self-Hosted Runners
- How To Determine if Your Build Is Under-Provisioned
- How to install additional software when using the CircleCI windows image
- Create a windows RAM disk
- Docker Layer Caching (DLC) - Frequently Asked Questions
- Configuring CPU Parallelism for pytest in CircleCI
- Configuring Maximum CPU Parallelism for Ruby Testing Tools in CircleCI
- Configuring Maximum CPU Parallelism for NPM Testing Tools in CircleCI
- Different Cache Key (arch) within Parallel Runs in the same Job
- Can I Split My Tests By Testname With Rails/RSPEC?
- Handling Test File Outputs for CircleCI Test Reruns
- Split By Timings Not Working For Git Tag Triggered Builds
- Running Steps Conditionally in CircleCI Parallel Jobs
- Common test splitting issues with pytest
- Test splitting not working with mocha-junit-reporter
- Use test splitting with Python Django tests
- Test Summary Troubleshooting
- How to troubleshoot Test Splitting
- How to dynamically set job parallelism
- I have split my tests by timing, but why is the split not even?
- Test Split Outputs Warning: “Error Reading Historical Timing Data: File Does Not Exist”
- Collecting/combining files after parallel test runs