Merge pull request #1 from Mariosmsk/retry-builds

Retry builds
This commit is contained in:
Elad Salomons
2024-04-21 12:09:28 +03:00
committed by GitHub
6 changed files with 117 additions and 32 deletions

View File

@@ -9,19 +9,44 @@ on:
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Setup build directory
run: mkdir buildproducts
- name: CMake
working-directory: ./buildproducts
run: cmake ..
run: |
retry=0
max_retries=3
until cmake ..; do
retry=$((retry+1))
echo "Retry $retry/$max_retries..."
if [ "$retry" -ge "$max_retries" ]; then
echo "CMake configuration failed after $max_retries attempts."
exit 1
fi
sleep 10
done
- name: Make
working-directory: ./buildproducts
run: make
run: |
retry=0
max_retries=3
until make; do
retry=$((retry+1))
echo "Retry $retry/$max_retries..."
if [ "$retry" -ge "$max_retries" ]; then
echo "Make build failed after $max_retries attempts."
exit 1
fi
sleep 10
done
- name: Copy header files to build directory
run: |

View File

@@ -9,19 +9,44 @@ on:
jobs:
build:
runs-on: macos-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Setup build directory
run: mkdir buildproducts
- name: CMake
working-directory: ./buildproducts
run: cmake ..
run: |
retry=0
max_retries=3
until cmake ..; do
((retry++))
echo "Retry $retry/$max_retries..."
if [ "$retry" -ge "$max_retries" ]; then
echo "CMake configuration failed after $max_retries attempts."
exit 1
fi
sleep 10
done
- name: Make
working-directory: ./buildproducts
run: make
run: |
retry=0
max_retries=3
until make; do
((retry++))
echo "Retry $retry/$max_retries..."
if [ "$retry" -ge "$max_retries" ]; then
echo "Make build failed after $max_retries attempts."
exit 1
fi
sleep 10
done
- name: Copy header files to build directory
run: |

View File

@@ -9,6 +9,8 @@ on:
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
steps:
- name: Checkout repository
@@ -19,7 +21,21 @@ jobs:
- name: CMake
working-directory: ./buildproducts
run: cmake .. -A Win32 && cmake --build . --config Release
shell: pwsh
run: |
$retryCount = 0
$maxRetries = 3
do {
cmake .. -A Win32 && cmake --build . --config Release
if ($LASTEXITCODE -eq 0) { break }
Write-Host "Retry $($retryCount + 1)/$maxRetries..."
Start-Sleep -Seconds 10
$retryCount++
} while ($retryCount -lt $maxRetries)
if ($retryCount -eq $maxRetries) {
Write-Host "CMake build failed after $maxRetries attempts."
exit 1
}
- name: Copy header files to build directory
run: |

View File

@@ -9,6 +9,8 @@ on:
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
steps:
- name: Checkout repository
@@ -19,7 +21,22 @@ jobs:
- name: CMake
working-directory: ./buildproducts
run: cmake .. -A x64 && cmake --build . --config Release
shell: pwsh
run: |
$retryCount = 0
$maxRetries = 3
do {
cmake .. -A x64 # Specify architecture for 64-bit
cmake --build . --config Release
if ($LASTEXITCODE -eq 0) { break }
Write-Host "Retry $($retryCount + 1)/$maxRetries..."
Start-Sleep -Seconds 10
$retryCount++
} while ($retryCount -lt $maxRetries)
if ($retryCount -eq $maxRetries) {
Write-Host "CMake build failed after $maxRetries attempts."
exit 1
}
- name: Copy header files to build directory
run: |

View File

@@ -25,7 +25,7 @@
# CMake is available at https://cmake.org/download/
#
cmake_minimum_required (VERSION 2.8.8)
cmake_minimum_required (VERSION 3.5.2)
project(EPANET)

View File

@@ -7,6 +7,8 @@ OWA-EPANET
[![codecov](https://codecov.io/gh/OpenWaterAnalytics/EPANET/branch/master/graph/badge.svg)](https://codecov.io/gh/OpenWaterAnalytics/EPANET)
[![linux](https://github.com/OpenWaterAnalytics/EPANET/actions/workflows/ccpp.yml/badge.svg)](https://github.com/OpenWaterAnalytics/EPANET/actions/workflows/ccpp.yml)
[![macos](https://github.com/OpenWaterAnalytics/EPANET/actions/workflows/macos.yml/badge.svg)](https://github.
com/OpenWaterAnalytics/EPANET/actions/workflows/macos.yml)
[![epanet2-win32](https://github.com/OpenWaterAnalytics/EPANET/actions/workflows/win32.yml/badge.svg)](https://github.com/OpenWaterAnalytics/EPANET/actions/workflows/win32.yml)
[![epanet2-win64](https://github.com/OpenWaterAnalytics/EPANET/actions/workflows/win64.yml/badge.svg)](https://github.com/OpenWaterAnalytics/EPANET/actions/workflows/win64.yml)