Skip to content

Feature: Added S3ClientProvider to AWSS3StorageCache and AWSS3StorageImageProvider #362

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

Conversation

marklagendijk
Copy link
Contributor

Prerequisites

  • I have written a descriptive pull-request title
  • I have verified that there are no overlapping pull-requests open
  • I have verified that I am following matches the existing coding patterns and practice as demonstrated in the repository. These follow strict Stylecop rules 👮.
  • I have provided test coverage for my change (where applicable)

Description

Implementation of #360 for AWS.

S3CannedACL acl)
=> AsyncHelper.RunSync(() => CreateIfNotExistsAsync(options, acl));
S3CannedACL acl,
IServiceProvider serviceProvider)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is a breaking change, because it requires users of this method to add the serviceProvider param.

namespace SixLabors.ImageSharp.Web;

/// <summary>
/// Provides a common interface for AWS S3 Bucket Client Options.
/// </summary>
internal interface IAWSS3BucketClientOptions
public interface IAWSS3BucketClientOptions
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to make the internal interface public here, because it is used as a param of the S3ClientProvider.

@JimBobSquarePants
Copy link
Member

@marklagendijk We've got failing tests here. Could you please have a look?

@JimBobSquarePants
Copy link
Member

I want to avoid breaking changes here or else it's major version update.

Copy link

codecov bot commented Aug 1, 2025

Codecov Report

❌ Patch coverage is 72.72727% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 85%. Comparing base (8854b94) to head (7ecd732).
⚠️ Report is 6 commits behind head on main.

Files with missing lines Patch % Lines
...geSharp.Web.Providers.AWS/AmazonS3ClientFactory.cs 0% 1 Missing and 2 partials ⚠️
Additional details and impacted files
@@         Coverage Diff         @@
##           main   #362   +/-   ##
===================================
- Coverage    85%    85%   -1%     
===================================
  Files        82     82           
  Lines      2355   2361    +6     
  Branches    354    356    +2     
===================================
+ Hits       2019   2023    +4     
  Misses      232    232           
- Partials    104    106    +2     
Flag Coverage Δ
unittests 85% <72%> (-1%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@JimBobSquarePants JimBobSquarePants left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this and sorry about the delay. I had to wait until I could make a breaking change.

I'll merge and make any required changes following a local review.

@JimBobSquarePants JimBobSquarePants merged commit 8509b73 into SixLabors:main Aug 1, 2025
8 of 9 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.

2 participants