@@ -168,9 +168,33 @@ jobs:
168168 with :
169169 project-name : aws-sdk-java-v2-migration-test
170170
171- s3-regression-tests-download :
171+ # Check if S3, HTTP client, or core modules have changed
172+ check-s3-related-changes :
172173 if : github.repository == 'aws/aws-sdk-java-v2'
173174 runs-on : ubuntu-latest
175+ outputs :
176+ has_s3_related_changes : ${{ steps.check-changes.outputs.has_s3_related_changes }}
177+ steps :
178+ - uses : actions/checkout@v4
179+ with :
180+ fetch-depth : 0
181+ - name : Check for changes related to s3
182+ id : check-changes
183+ run : |
184+ git fetch origin ${{ github.base_ref }} --depth 1
185+ CHANGED_FILES=$(git diff remotes/origin/${{ github.base_ref }} --name-only)
186+ if echo "$CHANGED_FILES" | grep -q -E '^core/|^services/s3/|^services-custom/s3-transfer-manager/|^http-client-spi/|^http-clients/'; then
187+ echo "Detected changes in S3, HTTP client, or core modules"
188+ echo "has_s3_related_changes=true" >> $GITHUB_OUTPUT
189+ else
190+ echo "No changes detected in S3, HTTP client, or core modules"
191+ echo "has_s3_related_changes=false" >> $GITHUB_OUTPUT
192+ fi
193+
194+ s3-regression-tests-download :
195+ needs : check-s3-related-changes
196+ if : github.repository == 'aws/aws-sdk-java-v2' && needs.check-s3-related-changes.outputs.has_s3_related_changes == 'true'
197+ runs-on : ubuntu-latest
174198 env :
175199 REGRESSION_TEST : DownloadStreamingRegressionTesting
176200 steps :
@@ -186,7 +210,8 @@ jobs:
186210 project-name : aws-sdk-java-v2-s3-regression-tests
187211 env-vars-for-codebuild : REGRESSION_TEST
188212 s3-regression-tests-control-plane :
189- if : github.repository == 'aws/aws-sdk-java-v2'
213+ needs : check-s3-related-changes
214+ if : github.repository == 'aws/aws-sdk-java-v2' && needs.check-s3-related-changes.outputs.has_s3_related_changes == 'true'
190215 runs-on : ubuntu-latest
191216 env :
192217 REGRESSION_TEST : ControlPlaneOperationRegressionTesting
@@ -203,7 +228,8 @@ jobs:
203228 project-name : aws-sdk-java-v2-s3-regression-tests
204229 env-vars-for-codebuild : REGRESSION_TEST
205230 s3-regression-tests-upload-sync :
206- if : github.repository == 'aws/aws-sdk-java-v2'
231+ needs : check-s3-related-changes
232+ if : github.repository == 'aws/aws-sdk-java-v2' && needs.check-s3-related-changes.outputs.has_s3_related_changes == 'true'
207233 runs-on : ubuntu-latest
208234 env :
209235 REGRESSION_TEST : UploadSyncRegressionTesting
@@ -220,7 +246,8 @@ jobs:
220246 project-name : aws-sdk-java-v2-s3-regression-tests
221247 env-vars-for-codebuild : REGRESSION_TEST
222248 s3-regression-tests-upload-async :
223- if : github.repository == 'aws/aws-sdk-java-v2'
249+ needs : check-s3-related-changes
250+ if : github.repository == 'aws/aws-sdk-java-v2' && needs.check-s3-related-changes.outputs.has_s3_related_changes == 'true'
224251 runs-on : ubuntu-latest
225252 env :
226253 REGRESSION_TEST : UploadAsyncRegressionTesting
@@ -237,7 +264,8 @@ jobs:
237264 project-name : aws-sdk-java-v2-s3-regression-tests
238265 env-vars-for-codebuild : REGRESSION_TEST
239266 s3-regression-tests-upload-crt :
240- if : github.repository == 'aws/aws-sdk-java-v2'
267+ needs : check-s3-related-changes
268+ if : github.repository == 'aws/aws-sdk-java-v2' && needs.check-s3-related-changes.outputs.has_s3_related_changes == 'true'
241269 runs-on : ubuntu-latest
242270 env :
243271 REGRESSION_TEST : UploadCrtRegressionTesting
@@ -254,7 +282,8 @@ jobs:
254282 project-name : aws-sdk-java-v2-s3-regression-tests
255283 env-vars-for-codebuild : REGRESSION_TEST
256284 s3-regression-tests-upload-multi :
257- if : github.repository == 'aws/aws-sdk-java-v2'
285+ needs : check-s3-related-changes
286+ if : github.repository == 'aws/aws-sdk-java-v2' && needs.check-s3-related-changes.outputs.has_s3_related_changes == 'true'
258287 runs-on : ubuntu-latest
259288 env :
260289 REGRESSION_TEST : UploadTransferManagerRegressionTesting
0 commit comments