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:
Nick Bolton
2024-09-12 10:20:53 +01:00
committed by GitHub
parent 3bb5ce12ae
commit f9287cddd1
3 changed files with 36 additions and 1 deletions

31
.github/actions/run-retry/action.yml vendored Normal file
View 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."

View File

@ -78,10 +78,13 @@ jobs:
QT_QPA_PLATFORM: offscreen
run: cmake --build build --target coverage-unittests
# Retry integtests coverae as gcovr intermittently fails to parse .gcda files.
- name: Integration tests coverage
env:
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
id: coverage-paths

View File

@ -5,6 +5,7 @@ Enhancements:
- #7503 Make package filenames consistent with previous versions
- #7505 Remove static link of libportal from Debian Trixie 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