79
79
description : GPG signature username
80
80
required : true
81
81
SA_GH_USER_EMAIL :
82
- description : GPG signature user email
82
+ description : GPG signature user email
83
83
required : true
84
84
SA_GPG_PRIVATE_KEY :
85
85
description : GPG signature private key
96
96
permissions :
97
97
contents : read
98
98
packages : read
99
- concurrency :
99
+ concurrency :
100
100
group : ${{ github.head_ref || github.run_id }}
101
101
cancel-in-progress : true
102
102
jobs :
@@ -117,11 +117,12 @@ jobs:
117
117
echo "The provided version already exists. Please provide a unique version."
118
118
exit 1
119
119
fi
120
-
120
+
121
121
setup-workflow :
122
122
runs-on : ubuntu-latest
123
123
outputs :
124
124
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 }}
125
126
execute-ui-labeled : ${{ steps.configure-tests-on-labels.outputs.execute_ui_labeled }}
126
127
execute-modinput-labeled : ${{ steps.configure-tests-on-labels.outputs.execute_modinput_functional_labeled }}
127
128
execute-ucc-modinput-labeled : ${{ steps.configure-tests-on-labels.outputs.execute_ucc_modinput_functional_labeled }}
@@ -156,7 +157,7 @@ jobs:
156
157
run : |
157
158
set +e
158
159
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")
160
161
for test_type in "${TESTSET[@]}"; do
161
162
EXECUTE_LABELED["$test_type"]="false"
162
163
done
@@ -358,6 +359,7 @@ jobs:
358
359
runs-on : ubuntu-latest
359
360
# Map a step output to a job output
360
361
outputs :
362
+ spl2 : ${{ steps.testset.outputs.spl2 }}
361
363
unit : ${{ steps.testset.outputs.unit }}
362
364
knowledge : ${{ steps.testset.outputs.knowledge }}
363
365
ui : ${{ steps.testset.outputs.ui }}
@@ -371,7 +373,8 @@ jobs:
371
373
- id : testset
372
374
name : Check available test types
373
375
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
375
378
376
379
run-unit-tests :
377
380
name : test-unit-python3-${{ matrix.python-version }}
@@ -418,7 +421,7 @@ jobs:
418
421
run : cp tests/unit/pytest-ci.ini pytest.ini
419
422
- name : Run Pytest with coverage
420
423
run : poetry run pytest --cov=./ --cov-report=xml --junitxml=test-results/junit.xml tests/unit
421
- - name : Job summary
424
+ - name : Job summary
422
425
continue-on-error : true
423
426
run : |
424
427
sudo apt-get update
@@ -487,7 +490,7 @@ jobs:
487
490
run : cp tests/unit/pytest-ci.ini pytest.ini
488
491
- name : Run Pytest with coverage
489
492
run : poetry run pytest --cov=./ --cov-report=xml --junitxml=test-results/junit.xml tests/unit
490
- - name : Job summary
493
+ - name : Job summary
491
494
continue-on-error : true
492
495
run : |
493
496
sudo apt-get update
@@ -1012,7 +1015,7 @@ jobs:
1012
1015
poetry run ucc-test-modinput -o ${{ steps.download-openapi.outputs.download-path }}/openapi.json -t ${{ steps.download-openapi.outputs.download-path }}/tmp/
1013
1016
fi
1014
1017
- name : upload-libs-to-s3
1015
- id : upload-libs-to-s3
1018
+ id : upload-libs-to-s3
1016
1019
env :
1017
1020
AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
1018
1021
AWS_DEFAULT_REGION : ${{ secrets.AWS_DEFAULT_REGION }}
@@ -1231,6 +1234,70 @@ jobs:
1231
1234
path : |
1232
1235
${{ needs.setup.outputs.directory-path }}/argo-logs
1233
1236
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
+
1234
1301
run-knowledge-tests :
1235
1302
if : ${{ !cancelled() && needs.build.result == 'success' && needs.test-inventory.outputs.knowledge == 'true' && needs.setup-workflow.outputs.execute-knowledge-labeled == 'true' }}
1236
1303
needs :
@@ -1497,8 +1564,8 @@ jobs:
1497
1564
done
1498
1565
- uses : geekyeggo/delete-artifact@v5
1499
1566
with :
1500
- name : |
1501
- summary-ko*
1567
+ name : |
1568
+ summary-ko*
1502
1569
1503
1570
run-requirement-tests :
1504
1571
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:
1753
1820
done
1754
1821
- uses : geekyeggo/delete-artifact@v5
1755
1822
with :
1756
- name : |
1757
- summary-requirement*
1823
+ name : |
1824
+ summary-requirement*
1758
1825
1759
1826
run-ui-tests :
1760
1827
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:
2031
2098
done
2032
2099
- uses : geekyeggo/delete-artifact@v5
2033
2100
with :
2034
- name : |
2035
- summary-ui*
2101
+ name : |
2102
+ summary-ui*
2036
2103
2037
2104
run-modinput-tests :
2038
2105
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:
2114
2181
if [[ "${{ inputs.marker }}" != "$EMPTY_MARKER" ]]; then
2115
2182
TEST_ARG_M="-m"
2116
2183
fi
2117
-
2184
+
2118
2185
echo "test-arg=$TEST_ARG_M" >> "$GITHUB_OUTPUT"
2119
2186
- name : run-tests
2120
2187
id : run-tests
@@ -2307,8 +2374,8 @@ jobs:
2307
2374
done
2308
2375
- uses : geekyeggo/delete-artifact@v5
2309
2376
with :
2310
- name : |
2311
- summary-modinput*
2377
+ name : |
2378
+ summary-modinput*
2312
2379
2313
2380
run-ucc-modinput-tests :
2314
2381
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:
2582
2649
done
2583
2650
- uses : geekyeggo/delete-artifact@v5
2584
2651
with :
2585
- name : |
2586
- summary-ucc_modinput*
2587
-
2652
+ name : |
2653
+ summary-ucc_modinput*
2654
+
2588
2655
run-upgrade-tests :
2589
2656
if : ${{ !cancelled() && needs.build.result == 'success' && needs.test-inventory.outputs.upgrade == 'true' }}
2590
2657
needs :
@@ -2845,8 +2912,8 @@ jobs:
2845
2912
done
2846
2913
- uses : geekyeggo/delete-artifact@v5
2847
2914
with :
2848
- name : |
2849
- summary-upgrade*
2915
+ name : |
2916
+ summary-upgrade*
2850
2917
2851
2918
run-scripted-input-tests-full-matrix :
2852
2919
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:
3114
3181
done
3115
3182
- uses : geekyeggo/delete-artifact@v5
3116
3183
with :
3117
- name : |
3118
- summary-scripted*
3184
+ name : |
3185
+ summary-scripted*
3119
3186
3120
3187
pre-publish :
3121
3188
if : ${{ !cancelled() }}
0 commit comments