curity features  ](/en/actions/security-guides/using-githubs-security-features-to-secure-your-use-of-github-actions)
    * [ Automatic token authentication  ](/en/actions/security-guides/automatic-token-authentication)

  * Creating actions 

    * [ About custom actions  ](/en/actions/creating-actions/about-custom-actions)
    * [ Create a Docker container action  ](/en/actions/creating-actions/creating-a-docker-container-action)
    * [ Create a JavaScript action  ](/en/actions/creating-actions/creating-a-javascript-action)
    * [ Create a composite action  ](/en/actions/creating-actions/creating-a-composite-action)
    * [ Metadata syntax  ](/en/actions/creating-actions/metadata-syntax-for-github-actions)
    * [ Dockerfile support  ](/en/actions/creating-actions/dockerfile-support-for-github-actions)
    * [ Set exit codes  ](/en/actions/creating-actions/setting-exit-codes-for-actions)
    * [ Publish in GitHub Marketplace  ](/en/actions/creating-actions/publishing-actions-in-github-marketplace)
    * [ Share from your private repository  ](/en/actions/creating-actions/sharing-actions-and-workflows-from-your-private-repository)
    * [ Share with your organization  ](/en/actions/creating-actions/sharing-actions-and-workflows-with-your-organization)
    * [ Release and maintain actions  ](/en/actions/creating-actions/releasing-and-maintaining-actions)
    * [ CLI setup action  ](/en/actions/creating-actions/developing-a-third-party-cli-action)

  * [ Guides for GitHub Actions  ](/en/actions/guides)

  * [ GitHub Actions ](/en/actions "GitHub Actions") / 
  * [ Using workflows ](/en/actions/using-workflows "Using workflows") / 
  * [ Store artifacts ](/en/actions/using-workflows/storing-workflow-data-as-artifacts "Store artifacts")

#  Storing workflow data as artifacts

Artifacts allow you to share data between jobs in a workflow and store data
once that workflow has completed.

##  In this article

  * About workflow artifacts 
  * Comparing artifacts and dependency caching 
  * Uploading build and test artifacts 
  * Configuring a custom artifact retention period 
  * Downloading or deleting artifacts 
  * Passing data between jobs in a workflow 
  * Further reading 

##  About workflow artifacts

Artifacts allow you to persist data after a job has completed, and share that
data with another job in the same workflow. An artifact is a file or
collection of files produced during a workflow run. For example, you can use
artifacts to save your build and test output after a workflow run has ended.
All actions and workflows called within a run have write access to that run's
artifacts.

By default, GitHub stores build logs and artifacts for 90 days, and this
retention period can be customized. For more information, see " [ Usage
limits, billing, and administration ](/en/actions/learn-github-actions/usage-
limits-billing-and-administration#artifact-and-log-retention-policy) ." The
retention period for a pull request restarts each time someone pushes a new
commit to the pull request.

These are some of the common artifacts that you can upload:

  * Log files and core dumps 
  * Test results, failures, and screenshots 
  * Binary or compressed files 
  * Stress test performance output and code coverage results 

Storing artifacts uses storage space on GitHub. GitHub Actions usage is free
for standard GitHub-hosted runners in public repositories, and for self-hosted
runners. For private repositories, each GitHub account receives a certain
amount of free minutes and storage for use with GitHub-hosted runners,
depending on the account's plan. Any usage beyond the included amounts is
controlled by spending limits. For more information, see " [ Managing billing
for GitHub Actions ](/en/billing/managing-billing-for-github-actions) ."

Artifacts are uploaded during a workflow run, and you can view an artifact's
name and size in the UI. When an artifact is downloaded using the GitHub UI,
all files that were individually uploaded as part