Skip to main content

Overview

In this fifth project status meeting, Alice and her team discuss a new reporting requirement: collecting unit-test results and code-coverage metrics, then storing them in a durable location. Since GitHub Actions limits artifact retention duration (default 90 days) and size, the team proposes using an AWS S3 bucket for long-term storage.
By default, GitHub Actions artifacts expire after 90 days. AWS S3 provides virtually unlimited storage with configurable lifecycle rules.

Objectives

  • Aggregate test reports and coverage files.
  • Upload artifacts automatically to S3 at the end of each workflow run.
  • Ensure security and cost-efficiency by applying proper lifecycle policies.

Proposed Workflow Job

  1. Run tests and generate artifacts.
  2. Cache or publish intermediate results.
  3. Upload final reports to S3.
Always store AWS credentials in GitHub Secrets. Never hard-code them in your workflow files.

Benefits

  • Centralized, long-term storage for all test artifacts
  • Fine-grained lifecycle policies (e.g., transition to Glacier)
  • Cost control through S3 storage classes

Tool Comparison

Watch Video