From 7c2fa7ff088f4f254d413cc0221dc0564f2b1b34 Mon Sep 17 00:00:00 2001 From: Oliver Kurz Date: Fri, 4 Apr 2025 10:16:38 +0200 Subject: [PATCH 1/2] CI: Workaround sporadic segfaults with retries Related progress issue: https://progress.opensuse.org/issues/176148 --- .github/workflows/ci-tests.yaml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-tests.yaml b/.github/workflows/ci-tests.yaml index 763ff56..f2d0a32 100644 --- a/.github/workflows/ci-tests.yaml +++ b/.github/workflows/ci-tests.yaml @@ -34,17 +34,21 @@ jobs: perl Build.PL ./Build build - name: Run tests - if: matrix.perl != 'latest' + if: matrix.perl != 'latest' || matrix.os == 'macos-latest' run: | TEST_SHARED=1 TEST_SUBREAPER=1 prove -l t - - name: Run tests with coverage - if: matrix.perl == 'latest' + - name: Run tests with coverage and retry + if: matrix.perl == 'latest' && matrix.os != 'macos-latest' run: | - TEST_SHARED=1 TEST_SUBREAPER=1 PERL5OPT="-MDevel::Cover=-coverage,statement" prove -l t + # t/01_run.t can segfault, retrying multiple times + # See https://progress.opensuse.org/issues/180026 + curl -O https://raw.githubusercontent.com/okurz/retry/refs/heads/main/retry + chmod +x retry + ./retry -r 7 env TEST_SHARED=1 TEST_SUBREAPER=1 PERL5OPT="-MDevel::Cover=-coverage,statement" prove -l t cover -report codecovbash - name: Upload coverage to ☂️ Codecov uses: codecov/codecov-action@v5 - if: matrix.perl == 'latest' + if: matrix.perl == 'latest' && matrix.os != 'macos-latest' with: token: ${{ secrets.CODECOV_TOKEN }} file: cover_db/codecov.json From 5fad8a39a17c72d24620ab59b99c9c5a5d89b253 Mon Sep 17 00:00:00 2001 From: Oliver Kurz Date: Tue, 8 Apr 2025 09:57:03 +0200 Subject: [PATCH 2/2] CI: Remove obsolete build step Not needed to run tests and helps to avoid problems as observed in https://github.com/openSUSE/Mojo-IOLoop-ReadWriteProcess/pull/79#issuecomment-2784800935 --- .github/workflows/ci-tests.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci-tests.yaml b/.github/workflows/ci-tests.yaml index f2d0a32..d6a0027 100644 --- a/.github/workflows/ci-tests.yaml +++ b/.github/workflows/ci-tests.yaml @@ -31,8 +31,6 @@ jobs: - name: Set up perl run: | cpanm --with-feature=ci --installdeps --notest . - perl Build.PL - ./Build build - name: Run tests if: matrix.perl != 'latest' || matrix.os == 'macos-latest' run: |