Skip to content

Commit 7034493

Browse files
committed
Retry certain CI jobs on failure
Windows startup checks and potentially APT can be problematic.
1 parent e6a1aea commit 7034493

2 files changed

Lines changed: 55 additions & 40 deletions

File tree

.github/workflows/build.yml

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -94,34 +94,42 @@ jobs:
9494

9595
- name: Install dependencies (APT)
9696
if: ${{ runner.os == 'Linux' && (!inputs.optional_build || steps.check-changes.outputs.source_changes == 'true') }}
97-
run: |
98-
sudo apt-get update && sudo apt-get install --assume-yes --no-install-recommends --quiet \
99-
binutils-dev \
100-
g++-14 \
101-
libluajit-5.1-dev \
102-
libmariadb-dev-compat \
103-
libssl-dev \
104-
libzmq3-dev \
105-
luajit \
106-
mariadb-client \
107-
tzdata \
108-
zlib1g-dev
109-
echo "CC=/usr/bin/gcc-14" >> $GITHUB_ENV
110-
echo "CXX=/usr/bin/g++-14" >> $GITHUB_ENV
97+
uses: nick-fields/retry@v3
98+
with:
99+
timeout_minutes: 5
100+
max_attempts: 3
101+
command: |
102+
sudo apt-get update && sudo apt-get install --assume-yes --no-install-recommends --quiet \
103+
binutils-dev \
104+
g++-14 \
105+
libluajit-5.1-dev \
106+
libmariadb-dev-compat \
107+
libssl-dev \
108+
libzmq3-dev \
109+
luajit \
110+
mariadb-client \
111+
tzdata \
112+
zlib1g-dev
113+
echo "CC=/usr/bin/gcc-14" >> $GITHUB_ENV
114+
echo "CXX=/usr/bin/g++-14" >> $GITHUB_ENV
111115
112116
- name: Install Clang
113117
if: ${{ runner.os == 'Linux' && startsWith(inputs.compiler, 'clang') && (!inputs.optional_build || steps.check-changes.outputs.source_changes == 'true') }}
114-
run: |
115-
sudo apt-get update && sudo apt-get install --assume-yes --no-install-recommends --quiet \
116-
clang-18 \
117-
clang-tidy \
118-
libclang-rt-dev \
119-
lld \
120-
llvm-dev
121-
echo "CC=/usr/bin/clang-18" >> $GITHUB_ENV
122-
echo "CXX=/usr/bin/clang++-18" >> $GITHUB_ENV
123-
echo "CXXFLAGS=-stdlib=libstdc++" >> $GITHUB_ENV
124-
echo "LDFLAGS=-fuse-ld=lld" >> $GITHUB_ENV
118+
uses: nick-fields/retry@v3
119+
with:
120+
timeout_minutes: 5
121+
max_attempts: 3
122+
command: |
123+
sudo apt-get update && sudo apt-get install --assume-yes --no-install-recommends --quiet \
124+
clang-18 \
125+
clang-tidy \
126+
libclang-rt-dev \
127+
lld \
128+
llvm-dev
129+
echo "CC=/usr/bin/clang-18" >> $GITHUB_ENV
130+
echo "CXX=/usr/bin/clang++-18" >> $GITHUB_ENV
131+
echo "CXXFLAGS=-stdlib=libstdc++" >> $GITHUB_ENV
132+
echo "LDFLAGS=-fuse-ld=lld" >> $GITHUB_ENV
125133
126134
- name: Setup MSVC
127135
if: ${{ runner.os == 'Windows' && (!inputs.optional_build || steps.check-changes.outputs.source_changes == 'true') }}

.github/workflows/test.yml

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -43,19 +43,23 @@ jobs:
4343

4444
- name: Install dependencies (APT)
4545
if: ${{ runner.os == 'Linux' }}
46-
run: |
47-
sudo apt-get update && sudo apt-get install --assume-yes --no-install-recommends --quiet \
48-
binutils \
49-
git \
50-
libmariadb-dev-compat \
51-
libzmq5 \
52-
lua5.1 \
53-
luajit \
54-
mariadb-client \
55-
mariadb-server \
56-
openssl \
57-
tzdata \
58-
zlib1g
46+
uses: nick-fields/retry@v3
47+
with:
48+
timeout_minutes: 5
49+
max_attempts: 3
50+
command: |
51+
sudo apt-get update && sudo apt-get install --assume-yes --no-install-recommends --quiet \
52+
binutils \
53+
git \
54+
libmariadb-dev-compat \
55+
libzmq5 \
56+
lua5.1 \
57+
luajit \
58+
mariadb-client \
59+
mariadb-server \
60+
openssl \
61+
tzdata \
62+
zlib1g
5963
6064
- name: Setup MariaDB (Windows)
6165
if: ${{ runner.os == 'Windows' }}
@@ -132,8 +136,11 @@ jobs:
132136

133137
- name: Startup checks
134138
id: tests
135-
timeout-minutes: 10
136-
run: python -m tools.ci.startup_checks ${{ inputs.multi_process && 'multi' || '' }}
139+
uses: nick-fields/retry@v3
140+
with:
141+
timeout_minutes: 10
142+
max_attempts: 3
143+
command: python -m tools.ci.startup_checks ${{ inputs.multi_process && 'multi' || '' }}
137144

138145
- name: Summarize checks
139146
id: summarize_checks

0 commit comments

Comments
 (0)