@@ -83,12 +83,34 @@ runs:
83
83
mkdir -p $PUBLIC_DIR
84
84
85
85
echo "LAST_JUNIT_REPORT_XML=$PUBLIC_DIR/last_junit.xml" >> $GITHUB_ENV
86
- echo "TESTMO_URL=${{ inputs.testman_url }}" >> $GITHUB_ENV
86
+ export TESTMO_URL=${{ inputs.testman_url }}
87
+ echo "TESTMO_URL=$TESTMO_URL" >> $GITHUB_ENV
87
88
echo "SUMMARY_LINKS=$PUBLIC_DIR/summary_links.txt" >> $GITHUB_ENV
88
89
echo "BUILD_PRESET=${{ inputs.build_preset }}" >> $GITHUB_ENV
89
90
90
91
python3 -m pip install ydb ydb[yc] codeowners
91
92
93
+ if [ ${{ inputs.testman_token }} ]; then
94
+ TESTMO_PROXY_ADDR=127.0.0.1:8888
95
+ openssl req -x509 -newkey rsa:2048 \
96
+ -keyout $TMP_DIR/key.pem -out $TMP_DIR/cert.pem \
97
+ -sha256 -days 1 -nodes -subj "/CN=127.0.0.1"
98
+
99
+ TESTMO_TOKEN=${{ inputs.testman_token }} ./ydb/ci/testmo-proxy/testmo-proxy.py -l $TESTMO_PROXY_ADDR \
100
+ --cert-file "$TMP_DIR/cert.pem" \
101
+ --cert-key "$TMP_DIR/key.pem" \
102
+ --target-timeout 3,60 \
103
+ --max-request-time 200 \
104
+ "$TESTMO_URL" > $PUBLIC_DIR/testmo_proxy.log 2>&1 &
105
+
106
+ TESTMO_PROXY_PID=$!
107
+ echo "TESTMO_PROXY_ADDR=$TESTMO_PROXY_ADDR" >> $GITHUB_ENV
108
+ echo "TESTMO_PROXY_PID=$TESTMO_PROXY_PID" >> $GITHUB_ENV
109
+
110
+ # testmo rejects self-signed cert without this setting
111
+ echo "NODE_TLS_REJECT_UNAUTHORIZED=0" >> $GITHUB_ENV
112
+ fi
113
+
92
114
- name : ya build and test
93
115
id : build
94
116
shell : bash
@@ -260,7 +282,7 @@ runs:
260
282
TESTMO_TOKEN=${{ inputs.testman_token }} testmo automation:resources:add-link --name build --url "$TESTMO_RUN_URL" --resources testmo.json
261
283
TESTMO_TOKEN=${{ inputs.testman_token }} testmo automation:resources:add-field --name git-sha --type string --value "${GITHUB_SHA:0:7}" --resources testmo.json
262
284
TESTMO_RUN_ID=$(
263
- TESTMO_TOKEN=${{ inputs.testman_token }} testmo automation:run:create --instance "$TESTMO_URL " --project-id ${{ inputs.testman_project_id }} \
285
+ TESTMO_TOKEN=${{ inputs.testman_token }} testmo automation:run:create --instance "https://$TESTMO_PROXY_ADDR " --project-id ${{ inputs.testman_project_id }} \
264
286
--name "$TESTMO_RUN_NAME" --source "$TESTMO_SOURCE" --resources testmo.json \
265
287
--tags "$TESTMO_BRANCH_TAG" --tags "$TESTMO_EXTRA_TAG"
266
288
)
@@ -373,29 +395,12 @@ runs:
373
395
.github/scripts/tests/split-junit.py -o "$TESTMO_JUNIT_REPORT_PARTS" "$CURRENT_JUNIT_XML_PATH"
374
396
# archive unitest reports (transformed)
375
397
tar -C $TESTMO_JUNIT_REPORT_PARTS/.. -czf $PUBLIC_DIR/junit_parts.xml.tar.gz $(basename $TESTMO_JUNIT_REPORT_PARTS)
376
-
377
- TESTMO_PROXY_ADDR=127.0.0.1:8888
378
-
379
- openssl req -x509 -newkey rsa:2048 \
380
- -keyout $TMP_DIR/key.pem -out $TMP_DIR/cert.pem \
381
- -sha256 -days 1 -nodes -subj "/CN=127.0.0.1"
382
-
383
- TESTMO_TOKEN=${{ inputs.testman_token }} ./ydb/ci/testmo-proxy/testmo-proxy.py -l $TESTMO_PROXY_ADDR \
384
- --cert-file "$TMP_DIR/cert.pem" \
385
- --cert-key "$TMP_DIR/key.pem" \
386
- --target-timeout 3,10 \
387
- --max-request-time 55 \
388
- " $TESTMO_URL" &
389
-
390
- testmo_proxy_pid=$!
391
398
392
- TESTMO_TOKEN=${{ inputs.testman_token }} NODE_TLS_REJECT_UNAUTHORIZED=0 testmo automation:run:submit-thread \
399
+ TESTMO_TOKEN=${{ inputs.testman_token }} testmo automation:run:submit-thread \
393
400
--instance "https://$TESTMO_PROXY_ADDR" --run-id "$TESTMO_RUN_ID" \
394
401
--results "$TESTMO_JUNIT_REPORT_PARTS/*.xml"
395
-
396
- kill $testmo_proxy_pid
397
402
398
- TESTMO_TOKEN=${{ inputs.testman_token }} testmo automation:run:complete --instance "$TESTMO_URL " --run-id $TESTMO_RUN_ID
403
+ TESTMO_TOKEN=${{ inputs.testman_token }} testmo automation:run:complete --instance "https://$TESTMO_PROXY_ADDR " --run-id $TESTMO_RUN_ID || true
399
404
echo "runid=" >> $GITHUB_OUTPUT
400
405
fi
401
406
@@ -435,7 +440,10 @@ runs:
435
440
shell : bash
436
441
run : |
437
442
if [ ${{ steps.build.outputs.runid }} ]; then
438
- TESTMO_TOKEN=${{ inputs.testman_token }} testmo automation:run:complete --instance "$TESTMO_URL" --run-id ${{ steps.build.outputs.runid }}
443
+ TESTMO_TOKEN=${{ inputs.testman_token }} testmo automation:run:complete --instance "https://$TESTMO_PROXY_ADDR" --run-id ${{ steps.build.outputs.runid }} || true
444
+ fi
445
+ if [ ${{ inputs.testman_token }} ]; then
446
+ kill $TESTMO_PROXY_PID
439
447
fi
440
448
- name : analyze tests results
441
449
shell : bash
0 commit comments