7979 description : GPG signature username
8080 required : true
8181 SA_GH_USER_EMAIL :
82- description : GPG signature user email
82+ description : GPG signature user email
8383 required : true
8484 SA_GPG_PRIVATE_KEY :
8585 description : GPG signature private key
9696permissions :
9797 contents : read
9898 packages : read
99- concurrency :
99+ concurrency :
100100 group : ${{ github.head_ref || github.run_id }}
101101 cancel-in-progress : true
102102jobs :
@@ -117,11 +117,12 @@ jobs:
117117 echo "The provided version already exists. Please provide a unique version."
118118 exit 1
119119 fi
120-
120+
121121 setup-workflow :
122122 runs-on : ubuntu-latest
123123 outputs :
124124 execute-knowledge-labeled : ${{ steps.configure-tests-on-labels.outputs.execute_knowledge_labeled }}
125+ execute-spl2-labeled : ${{ steps.configure-tests-on-labels.outputs.execute_spl2_labeled }}
125126 execute-ui-labeled : ${{ steps.configure-tests-on-labels.outputs.execute_ui_labeled }}
126127 execute-modinput-labeled : ${{ steps.configure-tests-on-labels.outputs.execute_modinput_functional_labeled }}
127128 execute-ucc-modinput-labeled : ${{ steps.configure-tests-on-labels.outputs.execute_ucc_modinput_functional_labeled }}
@@ -156,7 +157,7 @@ jobs:
156157 run : |
157158 set +e
158159 declare -A EXECUTE_LABELED
159- TESTSET=("execute_knowledge" "execute_ui" "execute_modinput_functional" "execute_ucc_modinput_functional" "execute_scripted_inputs" "execute_requirement_test" "execute_upgrade")
160+ TESTSET=("execute_knowledge" "execute_spl2" " execute_ui" "execute_modinput_functional" "execute_ucc_modinput_functional" "execute_scripted_inputs" "execute_requirement_test" "execute_upgrade")
160161 for test_type in "${TESTSET[@]}"; do
161162 EXECUTE_LABELED["$test_type"]="false"
162163 done
@@ -358,6 +359,7 @@ jobs:
358359 runs-on : ubuntu-latest
359360 # Map a step output to a job output
360361 outputs :
362+ spl2 : ${{ steps.testset.outputs.spl2 }}
361363 unit : ${{ steps.testset.outputs.unit }}
362364 knowledge : ${{ steps.testset.outputs.knowledge }}
363365 ui : ${{ steps.testset.outputs.ui }}
@@ -371,7 +373,8 @@ jobs:
371373 - id : testset
372374 name : Check available test types
373375 run : |
374- find tests -type d -maxdepth 1 -mindepth 1 | sed 's|^tests/||g' | while read -r TESTSET; do echo "$TESTSET=true" >> "$GITHUB_OUTPUT"; echo "$TESTSET::true"; done
376+ find tests -type d -maxdepth 1 -mindepth 1 | sed 's|^tests/||g' | while read -r TESTSET; do echo "$TESTSET=true" >> "$GITHUB_OUTPUT"; echo "$TESTSET::true"; done
377+ find package/default/data -type d -name "spl2" -maxdepth 1 -mindepth 1 | sed 's|^package/default/data/||g' | while read -r TESTSET; do echo "$TESTSET=true" >> "$GITHUB_OUTPUT"; echo "$TESTSET::true"; done
375378
376379 run-unit-tests :
377380 name : test-unit-python3-${{ matrix.python-version }}
@@ -418,7 +421,7 @@ jobs:
418421 run : cp tests/unit/pytest-ci.ini pytest.ini
419422 - name : Run Pytest with coverage
420423 run : poetry run pytest --cov=./ --cov-report=xml --junitxml=test-results/junit.xml tests/unit
421- - name : Job summary
424+ - name : Job summary
422425 continue-on-error : true
423426 run : |
424427 sudo apt-get update
@@ -487,7 +490,7 @@ jobs:
487490 run : cp tests/unit/pytest-ci.ini pytest.ini
488491 - name : Run Pytest with coverage
489492 run : poetry run pytest --cov=./ --cov-report=xml --junitxml=test-results/junit.xml tests/unit
490- - name : Job summary
493+ - name : Job summary
491494 continue-on-error : true
492495 run : |
493496 sudo apt-get update
@@ -1012,7 +1015,7 @@ jobs:
10121015 poetry run ucc-test-modinput -o ${{ steps.download-openapi.outputs.download-path }}/openapi.json -t ${{ steps.download-openapi.outputs.download-path }}/tmp/
10131016 fi
10141017 - name : upload-libs-to-s3
1015- id : upload-libs-to-s3
1018+ id : upload-libs-to-s3
10161019 env :
10171020 AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
10181021 AWS_DEFAULT_REGION : ${{ secrets.AWS_DEFAULT_REGION }}
@@ -1231,6 +1234,70 @@ jobs:
12311234 path : |
12321235 ${{ needs.setup.outputs.directory-path }}/argo-logs
12331236
1237+ login-to-spl2-ecr :
1238+ runs-on : ubuntu-latest
1239+ steps :
1240+ - name : Configure AWS credentials
1241+ uses : aws-actions/configure-aws-credentials@v4
1242+ with :
1243+ aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
1244+ aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
1245+ aws-region : ${{ secrets.AWS_DEFAULT_REGION }}
1246+ - name : Login to Amazon ECR
1247+ id : login-ecr
1248+ uses : aws-actions/amazon-ecr-login@v2
1249+ with :
1250+ mask-password : ' false'
1251+ outputs :
1252+ registry : ${{ steps.login-ecr.outputs.registry }}
1253+ docker_username : ${{ steps.login-ecr.outputs.docker_username_956110764581_dkr_ecr_us_west_2_amazonaws_com }}
1254+ docker_password : ${{ steps.login-ecr.outputs.docker_password_956110764581_dkr_ecr_us_west_2_amazonaws_com }}
1255+
1256+
1257+ run-spl2-tests :
1258+ if : ${{ !cancelled() && needs.setup-workflow.outputs.execute-spl2-labeled == 'true' && needs.test-inventory.outputs.spl2 == 'true'}}
1259+ needs :
1260+ - login-to-spl2-ecr
1261+ - test-inventory
1262+ - setup-workflow
1263+ runs-on : ubuntu-latest
1264+ container :
1265+ image : 956110764581.dkr.ecr.us-west-2.amazonaws.com/dm/spl2-processor-cli:0.0.1
1266+ credentials :
1267+ username : ${{ needs.login-to-spl2-ecr.outputs.docker_username }}
1268+ password : ${{ needs.login-to-spl2-ecr.outputs.docker_password }}
1269+ permissions :
1270+ actions : read
1271+ deployments : read
1272+ contents : read
1273+ packages : read
1274+ statuses : read
1275+ checks : write
1276+ steps :
1277+ - uses : actions/checkout@v4
1278+ with :
1279+ submodules : recursive
1280+ - name : configure git # This step configures git to omit "dubious git ownership error" in later test-reporter stage
1281+ id : configure-git
1282+ run : |
1283+ git --version
1284+ git_path="$(pwd)"
1285+ echo "$git_path"
1286+ git config --global --add safe.directory "$git_path"
1287+ - name : Run spl2 tests
1288+ run : |
1289+ echo "Running SPL2 Tests"
1290+ cp -R /spl2-processor-cli/* .
1291+ pytest -s --junitxml test-results/report.xml --log-file=spl2_tests.log --pyargs spl2_testing_framework.cli_based_spl2_tests
1292+ - name : Test Report
1293+ id : test_report
1294+ uses : dorny/test-reporter@v1.9.1
1295+ if : ${{ !cancelled() }}
1296+ with :
1297+ name : spl2 test report
1298+ path : " test-results/*.xml"
1299+ reporter : java-junit
1300+
12341301 run-knowledge-tests :
12351302 if : ${{ !cancelled() && needs.build.result == 'success' && needs.test-inventory.outputs.knowledge == 'true' && needs.setup-workflow.outputs.execute-knowledge-labeled == 'true' }}
12361303 needs :
@@ -1497,8 +1564,8 @@ jobs:
14971564 done
14981565 - uses : geekyeggo/delete-artifact@v5
14991566 with :
1500- name : |
1501- summary-ko*
1567+ name : |
1568+ summary-ko*
15021569
15031570 run-requirement-tests :
15041571 if : ${{ !cancelled() && needs.build.result == 'success' && needs.test-inventory.outputs.requirement_test == 'true' && needs.setup-workflow.outputs.execute-requirement-labeled == 'true' }}
@@ -1753,8 +1820,8 @@ jobs:
17531820 done
17541821 - uses : geekyeggo/delete-artifact@v5
17551822 with :
1756- name : |
1757- summary-requirement*
1823+ name : |
1824+ summary-requirement*
17581825
17591826 run-ui-tests :
17601827 if : ${{ !cancelled() && needs.build.result == 'success' && needs.test-inventory.outputs.ui == 'true' && needs.setup-workflow.outputs.execute-ui-labeled == 'true' }}
@@ -2031,8 +2098,8 @@ jobs:
20312098 done
20322099 - uses : geekyeggo/delete-artifact@v5
20332100 with :
2034- name : |
2035- summary-ui*
2101+ name : |
2102+ summary-ui*
20362103
20372104 run-modinput-tests :
20382105 if : ${{ !cancelled() && needs.build.result == 'success' && needs.test-inventory.outputs.modinput_functional == 'true' && needs.setup-workflow.outputs.execute-modinput-labeled == 'true' }}
@@ -2114,7 +2181,7 @@ jobs:
21142181 if [[ "${{ inputs.marker }}" != "$EMPTY_MARKER" ]]; then
21152182 TEST_ARG_M="-m"
21162183 fi
2117-
2184+
21182185 echo "test-arg=$TEST_ARG_M" >> "$GITHUB_OUTPUT"
21192186 - name : run-tests
21202187 id : run-tests
@@ -2307,8 +2374,8 @@ jobs:
23072374 done
23082375 - uses : geekyeggo/delete-artifact@v5
23092376 with :
2310- name : |
2311- summary-modinput*
2377+ name : |
2378+ summary-modinput*
23122379
23132380 run-ucc-modinput-tests :
23142381 if : ${{ !cancelled() && needs.build.result == 'success' && needs.test-inventory.outputs.ucc_modinput_functional == 'true' && needs.setup-workflow.outputs.execute-ucc-modinput-labeled == 'true' }}
@@ -2582,9 +2649,9 @@ jobs:
25822649 done
25832650 - uses : geekyeggo/delete-artifact@v5
25842651 with :
2585- name : |
2586- summary-ucc_modinput*
2587-
2652+ name : |
2653+ summary-ucc_modinput*
2654+
25882655 run-upgrade-tests :
25892656 if : ${{ !cancelled() && needs.build.result == 'success' && needs.test-inventory.outputs.upgrade == 'true' }}
25902657 needs :
@@ -2845,8 +2912,8 @@ jobs:
28452912 done
28462913 - uses : geekyeggo/delete-artifact@v5
28472914 with :
2848- name : |
2849- summary-upgrade*
2915+ name : |
2916+ summary-upgrade*
28502917
28512918 run-scripted-input-tests-full-matrix :
28522919 if : ${{ !cancelled() && needs.build.result == 'success' && needs.test-inventory.outputs.scripted_inputs == 'true' && needs.setup-workflow.outputs.execute-scripted_inputs-labeled == 'true' }}
@@ -3114,8 +3181,8 @@ jobs:
31143181 done
31153182 - uses : geekyeggo/delete-artifact@v5
31163183 with :
3117- name : |
3118- summary-scripted*
3184+ name : |
3185+ summary-scripted*
31193186
31203187 pre-publish :
31213188 if : ${{ !cancelled() }}
0 commit comments