Add run-retry action to workaround integtest gcovr issue (#7507)
* Add `run-retry` composite action to workaround `integtest` `gcovr` issue * Update ChangeLog * Add comment explaining retry
This commit is contained in:
parent
3bb5ce12ae
commit
f9287cddd1
3 changed files with 36 additions and 1 deletions
31
.github/actions/run-retry/action.yml
vendored
Normal file
31
.github/actions/run-retry/action.yml
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
name: "Retry command"
|
||||||
|
description: "Retries a specified command up to a specified number of times."
|
||||||
|
inputs:
|
||||||
|
run:
|
||||||
|
description: "The command to run"
|
||||||
|
required: true
|
||||||
|
retries:
|
||||||
|
description: "Number of retries"
|
||||||
|
required: false
|
||||||
|
default: 3
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- name: Run Command with Retry
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
command="${{ inputs.run }}"
|
||||||
|
retries=${{ inputs.retries }}
|
||||||
|
delay=${{ inputs.delay }}
|
||||||
|
attempt=1
|
||||||
|
|
||||||
|
until $command; do
|
||||||
|
if [ $attempt -ge $retries ]; then
|
||||||
|
echo "Attempt $attempt failed! No more retries left."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Attempt $attempt failed! Retrying in $delay seconds..."
|
||||||
|
attempt=$((attempt + 1))
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Command succeeded on attempt $attempt."
|
||||||
5
.github/workflows/sonarcloud-analysis.yml
vendored
5
.github/workflows/sonarcloud-analysis.yml
vendored
|
|
@ -78,10 +78,13 @@ jobs:
|
||||||
QT_QPA_PLATFORM: offscreen
|
QT_QPA_PLATFORM: offscreen
|
||||||
run: cmake --build build --target coverage-unittests
|
run: cmake --build build --target coverage-unittests
|
||||||
|
|
||||||
|
# Retry integtests coverae as gcovr intermittently fails to parse .gcda files.
|
||||||
- name: Integration tests coverage
|
- name: Integration tests coverage
|
||||||
env:
|
env:
|
||||||
QT_QPA_PLATFORM: offscreen
|
QT_QPA_PLATFORM: offscreen
|
||||||
run: cmake --build build --target coverage-integtests
|
uses: ./.github/actions/run-retry
|
||||||
|
with:
|
||||||
|
run: cmake --build build --target coverage-integtests
|
||||||
|
|
||||||
- name: Get coverage report paths
|
- name: Get coverage report paths
|
||||||
id: coverage-paths
|
id: coverage-paths
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ Enhancements:
|
||||||
- #7503 Make package filenames consistent with previous versions
|
- #7503 Make package filenames consistent with previous versions
|
||||||
- #7505 Remove static link of libportal from Debian Trixie CI
|
- #7505 Remove static link of libportal from Debian Trixie CI
|
||||||
- #7506 Make `APPLE_CODESIGN_ID` env var optional for CE CI
|
- #7506 Make `APPLE_CODESIGN_ID` env var optional for CE CI
|
||||||
|
- #7507 Add `run-retry` action to workaround `integtest` `gcovr` issue
|
||||||
|
|
||||||
# 1.16.0
|
# 1.16.0
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue