Skip to content

Commit 008832c

Browse files
authored
Improvements to S3 Regression Testing (#6519)
- Enable upload regression testing all bucket types - Add ability to force running the regression tests even if the pull request does not contain an S3 or core related changes
1 parent c686539 commit 008832c

File tree

2 files changed

+17
-14
lines changed

2 files changed

+17
-14
lines changed

.github/workflows/s3-regression-tests.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: S3 Regression Tests
22
on:
33
pull_request:
4+
types: [ opened, synchronize, reopened, labeled, unlabeled ]
45
merge_group:
56
push:
67
branches:
@@ -14,7 +15,7 @@ jobs:
1415
if: github.repository == 'aws/aws-sdk-java-v2'
1516
runs-on: ubuntu-latest
1617
outputs:
17-
has_s3_related_changes: ${{ steps.check-changes.outputs.has_s3_related_changes }}
18+
run_tests: ${{ contains(github.event.pull_request.labels.*.name, 'force-s3-regression-tests') || steps.check-changes.outputs.has_s3_related_changes }}
1819
steps:
1920
- uses: actions/checkout@v4
2021
with:
@@ -40,7 +41,7 @@ jobs:
4041
runs-on: ubuntu-latest
4142
env:
4243
REGRESSION_TEST: DownloadStreamingRegressionTesting
43-
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.has_s3_related_changes }}
44+
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.run_tests }}
4445
steps:
4546
- name: Configure AWS Credentials
4647
uses: aws-actions/configure-aws-credentials@v4
@@ -61,7 +62,7 @@ jobs:
6162
runs-on: ubuntu-latest
6263
env:
6364
REGRESSION_TEST: ControlPlaneOperationRegressionTesting
64-
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.has_s3_related_changes }}
65+
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.run_tests }}
6566
steps:
6667
- name: Configure AWS Credentials
6768
uses: aws-actions/configure-aws-credentials@v4
@@ -82,7 +83,7 @@ jobs:
8283
runs-on: ubuntu-latest
8384
env:
8485
REGRESSION_TEST: UploadSyncRegressionTesting
85-
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.has_s3_related_changes }}
86+
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.run_tests }}
8687
steps:
8788
- name: Configure AWS Credentials
8889
uses: aws-actions/configure-aws-credentials@v4
@@ -103,7 +104,7 @@ jobs:
103104
runs-on: ubuntu-latest
104105
env:
105106
REGRESSION_TEST: UploadAsyncRegressionTesting
106-
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.has_s3_related_changes }}
107+
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.run_tests }}
107108
steps:
108109
- name: Configure AWS Credentials
109110
uses: aws-actions/configure-aws-credentials@v4
@@ -124,7 +125,7 @@ jobs:
124125
runs-on: ubuntu-latest
125126
env:
126127
REGRESSION_TEST: UploadCrtRegressionTesting
127-
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.has_s3_related_changes }}
128+
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.run_tests }}
128129
steps:
129130
- name: Configure AWS Credentials
130131
uses: aws-actions/configure-aws-credentials@v4
@@ -145,7 +146,7 @@ jobs:
145146
runs-on: ubuntu-latest
146147
env:
147148
REGRESSION_TEST: UploadTransferManagerRegressionTesting
148-
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.has_s3_related_changes }}
149+
HAS_S3_CHANGES: ${{ needs.check-s3-related-changes.outputs.run_tests }}
149150
steps:
150151
- name: Configure AWS Credentials
151152
uses: aws-actions/configure-aws-credentials@v4

test/s3-tests/src/it/java/software/amazon/awssdk/services/s3/regression/upload/UploadConfig.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,15 @@ public static List<UploadConfig> testConfigs() {
4040
for (UploadStreamingRegressionTesting.ContentSize cs :
4141
UploadStreamingRegressionTesting.ContentSize.values()) {
4242
for (boolean ps : payloadSign) {
43-
UploadConfig testConfig = new UploadConfig();
44-
testConfig.setRequestChecksumValidation(checksumValidation);
45-
testConfig.setBodyType(bodType);
46-
testConfig.setContentSize(cs);
47-
testConfig.setPayloadSigning(ps);
48-
testConfig.setBucketType(BucketType.STANDARD_BUCKET);
49-
configs.add(testConfig);
43+
for (BucketType bucketType : BucketType.values()) {
44+
UploadConfig testConfig = new UploadConfig();
45+
testConfig.setRequestChecksumValidation(checksumValidation);
46+
testConfig.setBodyType(bodType);
47+
testConfig.setContentSize(cs);
48+
testConfig.setPayloadSigning(ps);
49+
testConfig.setBucketType(bucketType);
50+
configs.add(testConfig);
51+
}
5052
}
5153
}
5254
}

0 commit comments

Comments
 (0)