From f77e21bb964f7413967c7905f770d090bead10cd Mon Sep 17 00:00:00 2001 From: ShaharNaveh <50263213+ShaharNaveh@users.noreply.github.com> Date: Tue, 14 Apr 2026 10:10:21 +0200 Subject: [PATCH 1/5] Auto-retry flaky MP tests --- .github/workflows/ci.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f93d746348..1916eeeea0 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -286,8 +286,22 @@ jobs: - name: Run flaky MP CPython tests run: | + for attempt in $(seq 1 5); do + echo "::group::Attempt ${attempt}" + target/release/rustpython -m test -j 1 ${{ join(matrix.extra_test_args, ' ') }} --slowest --fail-env-changed --timeout 600 -v ${{ env.FLAKY_MP_TESTS }} + status=$? + + echo "::endgroup: + + if [ $status -eq 0 ]; then + exit 0 + fi + done + + exit 1 timeout-minutes: ${{ matrix.timeout }} + shell: bash env: RUSTPYTHON_SKIP_ENV_POLLUTERS: true From 2e78ffd7a555daa80dce194c1ec73af06c9c8c88 Mon Sep 17 00:00:00 2001 From: ShaharNaveh <50263213+ShaharNaveh@users.noreply.github.com> Date: Tue, 14 Apr 2026 12:11:40 +0200 Subject: [PATCH 2/5] Fix missing quote --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1916eeeea0..c2c206af1d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -292,7 +292,7 @@ jobs: target/release/rustpython -m test -j 1 ${{ join(matrix.extra_test_args, ' ') }} --slowest --fail-env-changed --timeout 600 -v ${{ env.FLAKY_MP_TESTS }} status=$? - echo "::endgroup: + echo "::endgroup:" if [ $status -eq 0 ]; then exit 0 From 631fb45aeb6f174c808239fee98d57ab78f8f83a Mon Sep 17 00:00:00 2001 From: ShaharNaveh <50263213+ShaharNaveh@users.noreply.github.com> Date: Tue, 14 Apr 2026 12:14:18 +0200 Subject: [PATCH 3/5] Fix indent --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c2c206af1d..ca6ed74433 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -289,7 +289,7 @@ jobs: for attempt in $(seq 1 5); do echo "::group::Attempt ${attempt}" - target/release/rustpython -m test -j 1 ${{ join(matrix.extra_test_args, ' ') }} --slowest --fail-env-changed --timeout 600 -v ${{ env.FLAKY_MP_TESTS }} + target/release/rustpython -m test -j 1 ${{ join(matrix.extra_test_args, ' ') }} --slowest --fail-env-changed --timeout 600 -v ${{ env.FLAKY_MP_TESTS }} status=$? echo "::endgroup:" From f3d797270faf3caf218b2350e0790804a99fa3b7 Mon Sep 17 00:00:00 2001 From: Shahar Naveh <50263213+ShaharNaveh@users.noreply.github.com> Date: Fri, 17 Apr 2026 18:47:18 +0200 Subject: [PATCH 4/5] Update .github/workflows/ci.yaml Co-authored-by: fanninpm <27117322+fanninpm@users.noreply.github.com> --- .github/workflows/ci.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c0ee6263f0..5b70a8ddde 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -302,8 +302,10 @@ jobs: for attempt in $(seq 1 5); do echo "::group::Attempt ${attempt}" + set +e target/release/rustpython -m test -j 1 ${{ join(matrix.extra_test_args, ' ') }} --slowest --fail-env-changed --timeout 600 -v ${{ env.FLAKY_MP_TESTS }} status=$? + set -e echo "::endgroup:" From 5663c74395a2994d41b0a7155da71d428f791c52 Mon Sep 17 00:00:00 2001 From: Shahar Naveh <50263213+ShaharNaveh@users.noreply.github.com> Date: Fri, 17 Apr 2026 18:47:25 +0200 Subject: [PATCH 5/5] Update .github/workflows/ci.yaml Co-authored-by: fanninpm <27117322+fanninpm@users.noreply.github.com> --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5b70a8ddde..e652072d9a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -307,7 +307,7 @@ jobs: status=$? set -e - echo "::endgroup:" + echo "::endgroup::" if [ $status -eq 0 ]; then exit 0