summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build.yml190
1 files changed, 109 insertions, 81 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4bc16cfb..dd773f99 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -124,29 +124,33 @@ jobs:
cmake --build .
- name: Test
- shell: bash
- run: |
- JOBS=20
- export CTEST_PARALLEL_LEVEL=$JOBS
- export CTEST_OUTPUT_ON_FAILURE=1
-
- export TSAN_OPTIONS=suppressions=$PWD/extra/tsan.supp
- export LSAN_OPTIONS=suppressions=$PWD/extra/lsan.supp
-
- if [ "${{ matrix.EVENT_MATRIX }}" == "DIST" ]; then
- cd dist
- archive=$(echo *.tar.gz)
- cd $(basename $archive .tar.gz)
- fi
- cd build
-
- if [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
- sudo python3 ../test-export/test-export.py static
- elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
- sudo python3 ../test-export/test-export.py shared
- else
- cmake --build . --target verify
- fi
+ uses: nick-fields/retry@v2
+ with:
+ max_attempts: 3
+ timeout_minutes: 20
+ shell: bash
+ command: |
+ JOBS=20
+ export CTEST_PARALLEL_LEVEL=$JOBS
+ export CTEST_OUTPUT_ON_FAILURE=1
+
+ export TSAN_OPTIONS=suppressions=$PWD/extra/tsan.supp
+ export LSAN_OPTIONS=suppressions=$PWD/extra/lsan.supp
+
+ if [ "${{ matrix.EVENT_MATRIX }}" == "DIST" ]; then
+ cd dist
+ archive=$(echo *.tar.gz)
+ cd $(basename $archive .tar.gz)
+ fi
+ cd build
+
+ if [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
+ sudo python3 ../test-export/test-export.py static
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
+ sudo python3 ../test-export/test-export.py shared
+ else
+ cmake --build . --target verify
+ fi
- uses: actions/upload-artifact@v1
if: failure() && matrix.EVENT_MATRIX != 'DIST'
@@ -242,16 +246,20 @@ jobs:
../configure --enable-gcc-warnings $EVENT_CONFIGURE_OPTIONS
make
- name: Test
- shell: bash
- run: |
- JOBS=20
- if [ "${{ matrix.EVENT_MATRIX }}" == "DIST" ]; then
- cd dist
- archive=$(echo *.tar.gz)
- cd $(basename $archive .tar.gz)
- fi
- cd build
- make -j $JOBS verify
+ uses: nick-fields/retry@v2
+ with:
+ max_attempts: 3
+ timeout_minutes: 20
+ shell: bash
+ command: |
+ JOBS=20
+ if [ "${{ matrix.EVENT_MATRIX }}" == "DIST" ]; then
+ cd dist
+ archive=$(echo *.tar.gz)
+ cd $(basename $archive .tar.gz)
+ fi
+ cd build
+ make -j $JOBS verify
- uses: actions/upload-artifact@v1
if: failure() && matrix.EVENT_MATRIX != 'DIST'
@@ -372,24 +380,28 @@ jobs:
cmake --build . -j $EVENT_BUILD_PARALLEL -- /nologo /verbosity:minimal
- name: Test
- shell: powershell
- run: |
- $EVENT_TESTS_PARALLEL=1
+ uses: nick-fields/retry@v2
+ with:
+ max_attempts: 3
+ timeout_minutes: 20
+ shell: powershell
+ command: |
+ $EVENT_TESTS_PARALLEL=1
- cd build
+ cd build
- try {
- if ("${{ matrix.EVENT_MATRIX }}" -eq "TEST_EXPORT_STATIC") {
- python ../test-export/test-export.py static
- } elseif ("${{ matrix.EVENT_MATRIX }}" -eq "TEST_EXPORT_SHARED") {
- python ../test-export/test-export.py shared
- } else {
- ctest --output-on-failure -j $EVENT_TESTS_PARALLEL
- if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
+ try {
+ if ("${{ matrix.EVENT_MATRIX }}" -eq "TEST_EXPORT_STATIC") {
+ python ../test-export/test-export.py static
+ } elseif ("${{ matrix.EVENT_MATRIX }}" -eq "TEST_EXPORT_SHARED") {
+ python ../test-export/test-export.py shared
+ } else {
+ ctest --output-on-failure -j $EVENT_TESTS_PARALLEL
+ if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
+ }
+ } catch {
+ $host.SetShouldExit($LastExitCode)
}
- } catch {
- $host.SetShouldExit($LastExitCode)
- }
- uses: actions/upload-artifact@v1
if: failure()
@@ -453,15 +465,19 @@ jobs:
D:\a\_temp\msys64\usr\bin\bash.exe -c $script
- name: Test
- shell: powershell
- run: |
- $env:EVENT_TESTS_PARALLEL=1
-
- $script='
- export PATH="/mingw64/bin:/usr/bin:/bin:/usr/local/bin:/opt/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:$PATH"
- cd build
- make verify -j $EVENT_TESTS_PARALLEL 2>&1 '
- D:\a\_temp\msys64\usr\bin\bash.exe -c $script
+ uses: nick-fields/retry@v2
+ with:
+ max_attempts: 3
+ timeout_minutes: 20
+ shell: powershell
+ command: |
+ $env:EVENT_TESTS_PARALLEL=1
+
+ $script='
+ export PATH="/mingw64/bin:/usr/bin:/bin:/usr/local/bin:/opt/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:$PATH"
+ cd build
+ make verify -j $EVENT_TESTS_PARALLEL 2>&1 '
+ D:\a\_temp\msys64\usr\bin\bash.exe -c $script
- uses: actions/upload-artifact@v1
if: failure()
@@ -539,10 +555,14 @@ jobs:
cmake --build .
- name: Test
- shell: powershell
- run: |
- cd build
- ctest --output-on-failure
+ uses: nick-fields/retry@v2
+ with:
+ max_attempts: 3
+ timeout_minutes: 20
+ shell: powershell
+ command: |
+ cd build
+ ctest --output-on-failure
- uses: actions/upload-artifact@v1
if: failure()
@@ -618,21 +638,25 @@ jobs:
cmake --build .
- name: Test
- shell: bash
- run: |
- JOBS=1
- export CTEST_PARALLEL_LEVEL=$JOBS
- export CTEST_OUTPUT_ON_FAILURE=1
-
- cd build
-
- if [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
- sudo python3 ../test-export/test-export.py static
- elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
- sudo python3 ../test-export/test-export.py shared
- else
- cmake --build . --target verify
- fi
+ uses: nick-fields/retry@v2
+ with:
+ max_attempts: 3
+ timeout_minutes: 20
+ shell: bash
+ command: |
+ JOBS=1
+ export CTEST_PARALLEL_LEVEL=$JOBS
+ export CTEST_OUTPUT_ON_FAILURE=1
+
+ cd build
+
+ if [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
+ sudo python3 ../test-export/test-export.py static
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
+ sudo python3 ../test-export/test-export.py shared
+ else
+ cmake --build . --target verify
+ fi
- uses: actions/upload-artifact@v1
if: failure()
@@ -700,11 +724,15 @@ jobs:
make
- name: Test
- shell: bash
- run: |
- JOBS=1
- cd build
- make -j $JOBS verify
+ uses: nick-fields/retry@v2
+ with:
+ max_attempts: 3
+ timeout_minutes: 20
+ shell: bash
+ command: |
+ JOBS=1
+ cd build
+ make -j $JOBS verify
- uses: actions/upload-artifact@v1
if: failure()