From cd2e1fbc7cb6758e30844343fd93db92fe3b610c Mon Sep 17 00:00:00 2001 From: Alexander Bayandin Date: Tue, 22 Apr 2025 10:41:28 +0100 Subject: [PATCH] CI(benchmarks): upload perf results for passed tests (#11649) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Problem We run benchmarks in batches (five parallel jobs on different runners). If any test in a batch fails, we won’t upload any results for that batch, even for the tests that passed. ## Summary of changes - Move the results upload to a separate step in the run-python-test-set action, and execute this step even if tests fail. --- .github/actions/run-python-test-set/action.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/actions/run-python-test-set/action.yml b/.github/actions/run-python-test-set/action.yml index 7139d37be9..1c65244ef4 100644 --- a/.github/actions/run-python-test-set/action.yml +++ b/.github/actions/run-python-test-set/action.yml @@ -133,6 +133,7 @@ runs: fi PERF_REPORT_DIR="$(realpath test_runner/perf-report-local)" + echo "PERF_REPORT_DIR=${PERF_REPORT_DIR}" >> ${GITHUB_ENV} rm -rf $PERF_REPORT_DIR TEST_SELECTION="test_runner/${{ inputs.test_selection }}" @@ -209,11 +210,12 @@ runs: --verbose \ -rA $TEST_SELECTION $EXTRA_PARAMS - if [[ "${{ inputs.save_perf_report }}" == "true" ]]; then - export REPORT_FROM="$PERF_REPORT_DIR" - export REPORT_TO="$PLATFORM" - scripts/generate_and_push_perf_report.sh - fi + - name: Upload performance report + if: ${{ !cancelled() && inputs.save_perf_report == 'true' }} + shell: bash -euxo pipefail {0} + run: | + export REPORT_FROM="${PERF_REPORT_DIR}" + scripts/generate_and_push_perf_report.sh - name: Upload compatibility snapshot # Note, that we use `github.base_ref` which is a target branch for a PR