1+ name : ~NGC release testing
2+
3+ on :
4+ workflow_dispatch :
5+ inputs :
6+ JAX_IMAGE :
7+ type : string
8+ description : " JAX image to run tests on"
9+ required : false
10+ default : ' '
11+ PAX_IMAGE :
12+ type : string
13+ description : " Rosetta Pax image to run tests on"
14+ required : false
15+ default : ' '
16+ MAXTEXT_IMAGE :
17+ type : string
18+ description : " MaxText image to run tests on"
19+ required : false
20+ default : ' '
21+
22+
23+ concurrency :
24+ group : ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
25+
26+ permissions :
27+ contents : read # to fetch code
28+ actions : write # to cancel previous workflows
29+ packages : read # to upload container
30+
31+ jobs :
32+ test-jax :
33+ if : inputs.JAX_IMAGE != ''
34+ uses : ./.github/workflows/_test_unit.yaml
35+ with :
36+ TEST_NAME : jax
37+ EXECUTE : |
38+ docker run -i --shm-size=1g --gpus all \
39+ ${{ inputs.JAX_IMAGE }} \
40+ bash <<"EOF" |& tee test-backend-independent.log
41+ test-jax.sh -b backend-independent
42+ EOF
43+ docker run -i --shm-size=1g --gpus all \
44+ ${{ inputs.JAX_IMAGE }} \
45+ bash <<"EOF" |& tee tee test-gpu.log
46+ test-jax.sh -b gpu
47+ EOF
48+ STATISTICS_SCRIPT : |
49+ errors=$(cat test-*.log | grep -c 'ERROR:' || true)
50+ failed_tests=$(cat test-*.log | grep -c 'FAILED in' || true)
51+ passed_tests=$(cat test-*.log | grep -c 'PASSED in' || true)
52+ total_tests=$((failed_tests + passed_tests))
53+ echo "TOTAL_TESTS=${total_tests}" >> $GITHUB_OUTPUT
54+ echo "ERRORS=${errors}" >> $GITHUB_OUTPUT
55+ echo "PASSED_TESTS=${passed_tests}" >> $GITHUB_OUTPUT
56+ echo "FAILED_TESTS=${failed_tests}" >> $GITHUB_OUTPUT
57+ ARTIFACTS : |
58+ test-backend-independent.log
59+ test-gpu.log
60+ secrets : inherit
61+
62+ test-rosetta-pax :
63+ if : inputs.PAX_IMAGE != ''
64+ uses : ./.github/workflows/_test_pax_rosetta.yaml
65+ with :
66+ PAX_IMAGE : ${{ inputs.PAX_IMAGE }}
67+ secrets : inherit
68+
69+ test-maxtext :
70+ if : inputs.MAXTEXT_IMAGE != ''
71+ uses : ./.github/workflows/_test_maxtext.yaml
72+ with :
73+ MAXTEXT_IMAGE : ${{ inputs.MAXTEXT_IMAGE }}
74+ secrets : inherit
75+
76+ finalize :
77+ needs : [ test-jax, test-rosetta-pax, test-maxtext ]
78+ if : " !cancelled()"
79+ uses : ./.github/workflows/_finalize.yaml
80+ secrets : inherit
0 commit comments