Start Building for Free

CircleCI Server AWS S3 Storage Lifecycle Guide

5 days ago1 min read
Server v2.x
Server Admin
On This Page

This guide is intended to help system administrators of CircleCI server installations on AWS better understand how S3 storage is used. This can help to cut compute resource costs and avoid issues for service users when removing resources.

In CircleCI server, S3 Lifecycle policies are not configured automatically. The figures provided in this guide are examples to help you create a lifecycle policy for your installation. For more information on the steps required to add policy rules, see the AWS Lifecycle Policy Guide.

Example Lifecycle Policy Configuration for S3 Buckets

PrefixTagSuggested Number of DaysDescription of filesSide effects of deletion




General artifacts (deliverables from store_artifacts and store_test_results)

Artifacts will disappear from the list of artifacts in job results. URLs will return 404.


"circleci.object_type" === "project.cache"


Dependency caches

The first build after deletion will be slow due to cache miss.


"circleci.object_type" === "workflow.workspace"



If a job depending on workspaces is rerun (e.g. SSH rerun), attach_workspace will restore no files, and subsequent steps will fail.




Task config





Outputs from each step

Outputs will not be shown any longer. Loading indicator will remain even after opening a pull-down for each step.




Legacy cache

This folder is not actively used. If a job depends on these files, the first build after deletion will be slow due to cache miss.

Additional Locations Not Listed Above


This is where audit logs are saved. Deleting this folder and files under this fodler has no impact on future operation of CircleCI, but deleted logs will be definitely lost and cannot be recovered.


This is where signing keys for macOS/iOS apps are stored. This folder is no longer used actively.


This is where statistic data collected with store_test_results resides. The data is used for future test splitting with circleci tests split --split-by=timings. Deleting test results will cause CIRCLE BUG errors in future jobs using parallelism.

Help make this document better

This guide, as well as the rest of our docs, are open source and available on GitHub. We welcome your contributions.

Need support?

Our support engineers are available to help with service issues, billing, or account related questions, and can help troubleshoot build configurations. Contact our support engineers by opening a ticket.

You can also visit our support site to find support articles, community forums, and training resources.