|
@@ -115,29 +115,37 @@ runs:
|
|
echo "NODE_TLS_REJECT_UNAUTHORIZED=0" >> $GITHUB_ENV
|
|
echo "NODE_TLS_REJECT_UNAUTHORIZED=0" >> $GITHUB_ENV
|
|
fi
|
|
fi
|
|
|
|
|
|
- - name: Generate ya.make with affected test suites and modules list
|
|
|
|
- if: inputs.increment == 'true'
|
|
|
|
- shell: bash
|
|
|
|
- run: |
|
|
|
|
- ORIGINAL_HEAD=$(git rev-parse HEAD)
|
|
|
|
- ./.github/scripts/graph_compare.sh $ORIGINAL_HEAD~1 $ORIGINAL_HEAD
|
|
|
|
- git checkout $ORIGINAL_HEAD
|
|
|
|
-
|
|
|
|
- - name: Change target in case of incremental
|
|
|
|
- id: target_choice
|
|
|
|
- shell: bash
|
|
|
|
- run: |
|
|
|
|
- if [ "${{ inputs.increment }}" == "true" ]; then
|
|
|
|
- echo "target=." >> $GITHUB_OUTPUT
|
|
|
|
- else
|
|
|
|
- echo "target=${{ inputs.build_target }}" >> $GITHUB_OUTPUT
|
|
|
|
- fi
|
|
|
|
-
|
|
|
|
- name: ya build and test
|
|
- name: ya build and test
|
|
id: build
|
|
id: build
|
|
shell: bash
|
|
shell: bash
|
|
run: |
|
|
run: |
|
|
set -x
|
|
set -x
|
|
|
|
+
|
|
|
|
+ ORIGINAL_HEAD=$(git rev-parse HEAD)
|
|
|
|
+
|
|
|
|
+ if [ "${{ inputs.increment }}" = "true" ]; then
|
|
|
|
+ GRAPH_COMPARE_OUTPUT="$PUBLIC_DIR/graph_compare.log"
|
|
|
|
+ GRAPH_COMPARE_OUTPUT_URL="$PUBLIC_DIR_URL/graph_compare.log"
|
|
|
|
+
|
|
|
|
+ set +e
|
|
|
|
+ ./.github/scripts/graph_compare.sh $ORIGINAL_HEAD~1 $ORIGINAL_HEAD |& tee $GRAPH_COMPARE_OUTPUT
|
|
|
|
+ RC=${PIPESTATUS[0]}
|
|
|
|
+ set -e
|
|
|
|
+
|
|
|
|
+ if [ $RC -ne 0 ]; then
|
|
|
|
+ echo "graph_compare.sh returned $RC, build failed"
|
|
|
|
+ echo "status=failed" >> $GITHUB_OUTPUT
|
|
|
|
+ BUILD_FAILED=1
|
|
|
|
+ echo "Graph compare failed, see the [logs]($GRAPH_COMPARE_OUTPUT_URL)." | GITHUB_TOKEN="${{ github.token }}" .github/scripts/tests/comment-pr.py --color red
|
|
|
|
+ exit $RC
|
|
|
|
+ fi
|
|
|
|
+
|
|
|
|
+ git checkout $ORIGINAL_HEAD
|
|
|
|
+ YA_MAKE_TARGET=.
|
|
|
|
+ else
|
|
|
|
+ YA_MAKE_TARGET=${{ inputs.build_target }}
|
|
|
|
+ fi
|
|
|
|
+
|
|
readarray -d ',' -t test_size < <(printf "%s" "${{ inputs.test_size }}")
|
|
readarray -d ',' -t test_size < <(printf "%s" "${{ inputs.test_size }}")
|
|
readarray -d ',' -t test_type < <(printf "%s" "${{ inputs.test_type }}")
|
|
readarray -d ',' -t test_type < <(printf "%s" "${{ inputs.test_type }}")
|
|
|
|
|
|
@@ -260,7 +268,6 @@ runs:
|
|
YA_MAKE_OUTPUT="$PUBLIC_DIR/ya_make_output.log"
|
|
YA_MAKE_OUTPUT="$PUBLIC_DIR/ya_make_output.log"
|
|
YA_MAKE_OUTPUT_URL="$PUBLIC_DIR_URL/ya_make_output.log"
|
|
YA_MAKE_OUTPUT_URL="$PUBLIC_DIR_URL/ya_make_output.log"
|
|
echo "20 [Ya make output]($YA_MAKE_OUTPUT_URL)" >> $SUMMARY_LINKS
|
|
echo "20 [Ya make output]($YA_MAKE_OUTPUT_URL)" >> $SUMMARY_LINKS
|
|
- echo "YA_MAKE_OUTPUT_URL=$YA_MAKE_OUTPUT_URL" >> $GITHUB_ENV
|
|
|
|
|
|
|
|
BUILD_FAILED=0
|
|
BUILD_FAILED=0
|
|
|
|
|
|
@@ -334,7 +341,7 @@ runs:
|
|
|
|
|
|
CURRENT_JUNIT_XML_PATH=$CURRENT_PUBLIC_DIR/junit.xml
|
|
CURRENT_JUNIT_XML_PATH=$CURRENT_PUBLIC_DIR/junit.xml
|
|
set +ex
|
|
set +ex
|
|
- (./ya make ${{ steps.target_choice.outputs.target }} "${params[@]}" \
|
|
|
|
|
|
+ (./ya make $YA_MAKE_TARGET "${params[@]}" \
|
|
$RERUN_FAILED_OPT --log-file "$PUBLIC_DIR/ya_log.log" \
|
|
$RERUN_FAILED_OPT --log-file "$PUBLIC_DIR/ya_log.log" \
|
|
--evlog-file "$CURRENT_PUBLIC_DIR/ya_evlog.jsonl" \
|
|
--evlog-file "$CURRENT_PUBLIC_DIR/ya_evlog.jsonl" \
|
|
--junit "$CURRENT_JUNIT_XML_PATH" --output "$YA_MAKE_OUT_DIR"; echo $? > exit_code) |& cat >> $YA_MAKE_OUTPUT
|
|
--junit "$CURRENT_JUNIT_XML_PATH" --output "$YA_MAKE_OUT_DIR"; echo $? > exit_code) |& cat >> $YA_MAKE_OUTPUT
|
|
@@ -350,6 +357,7 @@ runs:
|
|
echo "ya make returned $RC, build failed"
|
|
echo "ya make returned $RC, build failed"
|
|
echo "status=failed" >> $GITHUB_OUTPUT
|
|
echo "status=failed" >> $GITHUB_OUTPUT
|
|
BUILD_FAILED=1
|
|
BUILD_FAILED=1
|
|
|
|
+ echo "Build failed, see the [logs]($YA_MAKE_OUTPUT_URL)." | GITHUB_TOKEN="${{ github.token }}" .github/scripts/tests/comment-pr.py --color red
|
|
break
|
|
break
|
|
fi
|
|
fi
|
|
|
|
|
|
@@ -433,8 +441,8 @@ runs:
|
|
|
|
|
|
if [ $BUILD_FAILED = 0 ]; then
|
|
if [ $BUILD_FAILED = 0 ]; then
|
|
echo "status=true" >> $GITHUB_OUTPUT
|
|
echo "status=true" >> $GITHUB_OUTPUT
|
|
|
|
+ echo "Build successful." | GITHUB_TOKEN="${{ github.token }}" .github/scripts/tests/comment-pr.py --color green
|
|
fi
|
|
fi
|
|
-
|
|
|
|
|
|
|
|
- name: comment-build-status
|
|
- name: comment-build-status
|
|
if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target'
|
|
if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target'
|
|
@@ -448,15 +456,12 @@ runs:
|
|
curl -L -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{github.token}}" -H "X-GitHub-Api-Version: 2022-11-28" \
|
|
curl -L -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{github.token}}" -H "X-GitHub-Api-Version: 2022-11-28" \
|
|
https://api.github.com/repos/${{github.repository}}/statuses/${{github.event.pull_request.head.sha}} \
|
|
https://api.github.com/repos/${{github.repository}}/statuses/${{github.event.pull_request.head.sha}} \
|
|
-d '{"state":"failure","description":"The check has been failed","context":"build_${{inputs.build_preset}}"}'
|
|
-d '{"state":"failure","description":"The check has been failed","context":"build_${{inputs.build_preset}}"}'
|
|
- echo "Build failed. see the [logs]($YA_MAKE_OUTPUT_URL)." | .github/scripts/tests/comment-pr.py --color red
|
|
|
|
else
|
|
else
|
|
curl -L -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{github.token}}" -H "X-GitHub-Api-Version: 2022-11-28" \
|
|
curl -L -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{github.token}}" -H "X-GitHub-Api-Version: 2022-11-28" \
|
|
https://api.github.com/repos/${{github.repository}}/statuses/${{github.event.pull_request.head.sha}} \
|
|
https://api.github.com/repos/${{github.repository}}/statuses/${{github.event.pull_request.head.sha}} \
|
|
-d '{"state":"success","description":"The check has been completed successfully","context":"build_${{inputs.build_preset}}"}'
|
|
-d '{"state":"success","description":"The check has been completed successfully","context":"build_${{inputs.build_preset}}"}'
|
|
- echo "Build successful." | .github/scripts/tests/comment-pr.py --color green
|
|
|
|
fi
|
|
fi
|
|
|
|
|
|
-
|
|
|
|
- name: Clean up unfinished testmo sessions
|
|
- name: Clean up unfinished testmo sessions
|
|
if: always()
|
|
if: always()
|
|
shell: bash
|
|
shell: bash
|