Skip to content

Ability to support AWS S3 coverage sync. #39

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Jun 13, 2025

Conversation

arunshan
Copy link
Collaborator

@arunshan arunshan commented Jun 3, 2025

Add S3 Integration for Coverage Report Management

Changes

  • Added automatic S3 upload/download of coverage reports
  • Implemented S3 path structure for organizing coverage reports by branch/PR
  • Added support for multiple repositories in the same S3 bucket via s3-repo-directory
  • Added first-time use bootstrapping for new repositories
  • Added hybrid approach support (local + S3)

Features

  • Automatic Coverage Management: No need to manually upload/download coverage reports
  • Organized Storage: Coverage reports are stored in a structured way:
    s3://{bucket}/[{repo-directory}/]{branch-or-pr}/coverage-summary.json
    
  • Multi-Repo Support: Use s3-repo-directory to organize multiple repos in one bucket
  • First-Time Setup: Automatically handles first-time use by using current coverage as baseline
  • Flexible Integration: Supports both full S3 and hybrid (local + S3) approaches

Configuration

New parameters added:

  • aws-access-key-id: AWS access key for S3 operations
  • aws-secret-access-key: AWS secret key for S3 operations
  • aws-region: AWS region (defaults to 'us-east-2')
  • s3-bucket: S3 bucket name
  • s3-repo-directory: Optional directory for organizing multiple repos
  • base-branch: Base branch name (defaults to 'main')
  • s3-base-url: Optional base URL for S3 coverage reports

Testing

  • Verified S3 upload/download functionality
  • Tested multi-repo organization
  • Confirmed first-time use bootstrapping
  • Validated hybrid approach

Impact

This change significantly simplifies coverage report management by:

  • Eliminating the need for repositories to manage their own coverage uploads/downloads
  • Providing a consistent way to store and retrieve coverage reports
  • Making it easier to compare coverage across branches and PRs
  • Supporting multiple repositories in a single S3 bucket

Screenshots

N/A - Backend changes only

Related Issues

N/A

Copy link

github-actions bot commented Jun 8, 2025

Coverage Report

  • Status: ✅ Passed
  • No changes to code coverage between the master branch and the current head branch

Total 0%
Change from base: 0%
Covered statements: NaN
Total statements: NaN

@arunshan arunshan changed the base branch from main to master June 13, 2025 18:34
@arunshan arunshan changed the title Ashankar/add ability to upload to s3 Ability to support AWS S3 coverage sync. Jun 13, 2025
@arunshan arunshan marked this pull request as ready for review June 13, 2025 18:46
@arunshan arunshan requested a review from xueyan-lu June 13, 2025 18:46
@arunshan arunshan self-assigned this Jun 13, 2025
@arunshan arunshan added this pull request to the merge queue Jun 13, 2025
Merged via the queue into master with commit 55bce83 Jun 13, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant