@@ -107,7 +107,7 @@ jobs:
107107 with :
108108 config-file : ${{ inputs.config-file }}
109109 image-uri : ${{ needs.build.outputs.image-uri || '' }}
110- suites : ' ["sanity", "telemetry", "efa"]'
110+ suites : ' ["sanity", "telemetry", "efa", "tensorflow-training/unit", "tensorflow-training/single_gpu", "tensorflow-training/sagemaker" ]'
111111
112112 sanity-test :
113113 if : ${{ always() && !cancelled() && inputs.run-sanity-test && needs.build.result != 'failure' && fromJSON(needs.check.outputs.skips || '{}')['sanity'] != true }}
@@ -147,39 +147,56 @@ jobs:
147147 suite-code-hash : ${{ fromJSON(needs.check.outputs.suite-code-hashes || '{}')['telemetry'] || '' }}
148148
149149 unit-test :
150- if : ${{ always() && !failure() && !cancelled() && inputs.run-unit-test }}
151- needs : [build]
150+ if : >-
151+ ${{ always() && !cancelled() && inputs.run-unit-test &&
152+ needs.build.result != 'failure' &&
153+ fromJSON(needs.check.outputs.skips || '{}')['tensorflow-training/unit'] != true }}
154+ needs : [build, check]
152155 concurrency :
153156 group : ${{ github.workflow }}-unit-test-${{ inputs.config-file }}-${{ github.ref }}
154157 cancel-in-progress : true
155158 uses : ./.github/workflows/tensorflow-training.tests-unit.yml
156159 with :
157160 config-file : ${{ inputs.config-file }}
158161 image-uri : ${{ needs.build.outputs.image-uri || '' }}
162+ image-content-hash : ${{ needs.check.outputs.image-content-hash }}
163+ suite-code-hash : ${{ fromJSON(needs.check.outputs.suite-code-hashes || '{}')['tensorflow-training/unit'] || '' }}
159164
160165 # Single-GPU tests — only for GPU images
161166 single-gpu-test :
162- if : ${{ always() && !failure() && !cancelled() && inputs.run-single-gpu-test && needs.ci-config.outputs.device-type == 'gpu' }}
163- needs : [build, ci-config]
167+ if : >-
168+ ${{ always() && !cancelled() && inputs.run-single-gpu-test &&
169+ needs.ci-config.outputs.device-type == 'gpu' &&
170+ needs.build.result != 'failure' &&
171+ fromJSON(needs.check.outputs.skips || '{}')['tensorflow-training/single_gpu'] != true }}
172+ needs : [build, ci-config, check]
164173 concurrency :
165174 group : ${{ github.workflow }}-single-gpu-test-${{ inputs.config-file }}-${{ github.ref }}
166175 cancel-in-progress : true
167176 uses : ./.github/workflows/tensorflow-training.tests-single-gpu.yml
168177 with :
169178 config-file : ${{ inputs.config-file }}
170179 image-uri : ${{ needs.build.outputs.image-uri || '' }}
180+ image-content-hash : ${{ needs.check.outputs.image-content-hash }}
181+ suite-code-hash : ${{ fromJSON(needs.check.outputs.suite-code-hashes || '{}')['tensorflow-training/single_gpu'] || '' }}
171182
172183 # SageMaker integration tests — only for sagemaker images (TF DLC is SM-only)
173184 sagemaker-test :
174- if : ${{ always() && !failure() && !cancelled() && inputs.run-sagemaker-test && needs.ci-config.outputs.customer-type == 'sagemaker' }}
175- needs : [build, ci-config]
185+ if : >-
186+ ${{ always() && !cancelled() && inputs.run-sagemaker-test &&
187+ needs.ci-config.outputs.customer-type == 'sagemaker' &&
188+ needs.build.result != 'failure' &&
189+ fromJSON(needs.check.outputs.skips || '{}')['tensorflow-training/sagemaker'] != true }}
190+ needs : [build, ci-config, check]
176191 concurrency :
177192 group : ${{ github.workflow }}-sagemaker-test-${{ inputs.config-file }}-${{ github.ref }}
178193 cancel-in-progress : true
179194 uses : ./.github/workflows/tensorflow-training.tests-sagemaker.yml
180195 with :
181196 config-file : ${{ inputs.config-file }}
182197 image-uri : ${{ needs.build.outputs.image-uri || '' }}
198+ image-content-hash : ${{ needs.check.outputs.image-content-hash }}
199+ suite-code-hash : ${{ fromJSON(needs.check.outputs.suite-code-hashes || '{}')['tensorflow-training/sagemaker'] || '' }}
183200
184201 # EFA tests — only for GPU EC2 images (2-node p4d NCCL+EFA all_reduce_perf)
185202 efa-test :
0 commit comments