5757 uses : astral-sh/setup-uv@v7
5858 - name : Install dependencies
5959 run : |
60- uv venv .venv
61- source .venv/bin/activate
62- make install-dev install-doc
60+ for i in 1 2 3; do
61+ uv venv .venv && source .venv/bin/activate &&
62+ make install-dev install-doc && break
63+ if [ "$i" -eq 3 ]; then exit 1; fi
64+ sleep 5
65+ done
6366 - name : Run doc tests
6467 run : |
6568 source .venv/bin/activate
@@ -89,14 +92,21 @@ jobs:
8992 - name : Install uv
9093 uses : astral-sh/setup-uv@v7
9194 - name : Install OpenJDK and ODBC
92- run :
93- sudo apt-get update && sudo apt-get install -y default-jdk
94- unixodbc-dev
95+ run : |
96+ for i in 1 2 3; do
97+ sudo apt-get update &&
98+ sudo apt-get install -y default-jdk unixodbc-dev && break
99+ if [ "$i" -eq 3 ]; then exit 1; fi
100+ sleep 5
101+ done
95102 - name : Install SQLMesh dev dependencies
96103 run : |
97- uv venv .venv
98- source .venv/bin/activate
99- make install-dev
104+ for i in 1 2 3; do
105+ uv venv .venv && source .venv/bin/activate &&
106+ make install-dev && break
107+ if [ "$i" -eq 3 ]; then exit 1; fi
108+ sleep 5
109+ done
100110 - name : Fix Git URL override
101111 run :
102112 git config --global --unset url."ssh://git@github.com".insteadOf ||
@@ -133,17 +143,28 @@ jobs:
133143 run : git config --global core.symlinks true
134144 - uses : actions/checkout@v7
135145 - name : Install make
136- run : choco install make which -y
146+ run : |
147+ for ($i = 1; $i -le 3; $i++) {
148+ choco install make which -y
149+ if ($LASTEXITCODE -eq 0) { break }
150+ if ($i -eq 3) { exit 1 }
151+ Start-Sleep -Seconds 5
152+ }
137153 - name : Set up Python
138154 uses : actions/setup-python@v7
139155 with :
140156 python-version : ' 3.12'
141157 - name : Install SQLMesh dev dependencies
142158 run : |
143- python -m venv venv
144- . ./venv/Scripts/activate
145- python.exe -m pip install --upgrade pip
146- make install-dev
159+ for ($i = 1; $i -le 3; $i++) {
160+ python -m venv venv &&
161+ . ./venv/Scripts/activate &&
162+ python.exe -m pip install --upgrade pip &&
163+ make install-dev
164+ if ($LASTEXITCODE -eq 0) { break }
165+ if ($i -eq 3) { exit 1 }
166+ Start-Sleep -Seconds 5
167+ }
147168 - name : Run fast unit tests
148169 run : |
149170 . ./venv/Scripts/activate
@@ -209,7 +230,12 @@ jobs:
209230 key : pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
210231 restore-keys : pnpm-store-
211232 - name : Install dependencies
212- run : pnpm install
233+ run : |
234+ for i in 1 2 3; do
235+ pnpm install && break
236+ if [ "$i" -eq 3 ]; then exit 1; fi
237+ sleep 5
238+ done
213239 - name : Run linters and code style checks
214240 run : pnpm run lint
215241
@@ -225,12 +251,21 @@ jobs:
225251 - uses : actions/checkout@v7
226252 - name : Install pnpm via corepack
227253 run : |
228- npm install --global corepack@latest
229- corepack enable
230- corepack prepare pnpm@latest-10 --activate
231- pnpm config set store-dir .pnpm-store
254+ for i in 1 2 3; do
255+ npm install --global corepack@latest &&
256+ corepack enable &&
257+ corepack prepare pnpm@latest-10 --activate &&
258+ pnpm config set store-dir .pnpm-store && break
259+ if [ "$i" -eq 3 ]; then exit 1; fi
260+ sleep 5
261+ done
232262 - name : Install dependencies
233- run : pnpm install
263+ run : |
264+ for i in 1 2 3; do
265+ pnpm install && break
266+ if [ "$i" -eq 3 ]; then exit 1; fi
267+ sleep 5
268+ done
234269 - name : Build UI
235270 run : npm --prefix web/client run build
236271 - name : Run unit tests
@@ -267,11 +302,20 @@ jobs:
267302 uses : astral-sh/setup-uv@v7
268303 - name : Install SQLMesh dev dependencies
269304 run : |
270- uv venv .venv
271- source .venv/bin/activate
272- make install-dev
305+ for i in 1 2 3; do
306+ uv venv .venv && source .venv/bin/activate &&
307+ make install-dev && break
308+ if [ "$i" -eq 3 ]; then exit 1; fi
309+ sleep 5
310+ done
273311 - name : Install OS-level dependencies
274- run : ./.github/scripts/install-prerequisites.sh "${{ matrix.engine }}"
312+ run : |
313+ for i in 1 2 3; do
314+ ./.github/scripts/install-prerequisites.sh "${{ matrix.engine }}" &&
315+ break
316+ if [ "$i" -eq 3 ]; then exit 1; fi
317+ sleep 5
318+ done
275319 - name : Run tests
276320 run : |
277321 source .venv/bin/activate
@@ -350,12 +394,21 @@ jobs:
350394 - name : Install uv
351395 uses : astral-sh/setup-uv@v7
352396 - name : Install OS-level dependencies
353- run : ./.github/scripts/install-prerequisites.sh "${{ matrix.engine }}"
397+ run : |
398+ for i in 1 2 3; do
399+ ./.github/scripts/install-prerequisites.sh "${{ matrix.engine }}" &&
400+ break
401+ if [ "$i" -eq 3 ]; then exit 1; fi
402+ sleep 5
403+ done
354404 - name : Install SQLMesh dev dependencies
355405 run : |
356- uv venv .venv
357- source .venv/bin/activate
358- make install-dev
406+ for i in 1 2 3; do
407+ uv venv .venv && source .venv/bin/activate &&
408+ make install-dev && break
409+ if [ "$i" -eq 3 ]; then exit 1; fi
410+ sleep 5
411+ done
359412 - name : Generate database name and setup credentials
360413 run : |
361414 UUID=$(cat /proc/sys/kernel/random/uuid)
@@ -406,7 +459,12 @@ jobs:
406459 with :
407460 version : latest
408461 - name : Install dependencies
409- run : pnpm install
462+ run : |
463+ for i in 1 2 3; do
464+ pnpm install && break
465+ if [ "$i" -eq 3 ]; then exit 1; fi
466+ sleep 5
467+ done
410468 - name : Run CI
411469 run : pnpm run ci
412470 test-vscode-e2e :
@@ -423,7 +481,12 @@ jobs:
423481 with :
424482 version : latest
425483 - name : Install dependencies
426- run : pnpm install
484+ run : |
485+ for i in 1 2 3; do
486+ pnpm install && break
487+ if [ "$i" -eq 3 ]; then exit 1; fi
488+ sleep 5
489+ done
427490 - name : Set up Python
428491 uses : actions/setup-python@v7
429492 with :
@@ -432,14 +495,27 @@ jobs:
432495 uses : astral-sh/setup-uv@v7
433496 - name : Install python dependencies
434497 run : |
435- python -m venv .venv
436- source .venv/bin/activate
437- make install-dev
498+ for i in 1 2 3; do
499+ python -m venv .venv && source .venv/bin/activate &&
500+ make install-dev && break
501+ if [ "$i" -eq 3 ]; then exit 1; fi
502+ sleep 5
503+ done
438504 - name : Install code-server
439- run : curl -fsSL https://code-server.dev/install.sh | sh
505+ run : |
506+ for i in 1 2 3; do
507+ curl -fsSL https://code-server.dev/install.sh | sh && break
508+ if [ "$i" -eq 3 ]; then exit 1; fi
509+ sleep 5
510+ done
440511 - name : Install Playwright browsers
441512 working-directory : ./vscode/extension
442- run : pnpm exec playwright install
513+ run : |
514+ for i in 1 2 3; do
515+ pnpm exec playwright install && break
516+ if [ "$i" -eq 3 ]; then exit 1; fi
517+ sleep 5
518+ done
443519 - name : Run e2e tests
444520 working-directory : ./vscode/extension
445521 timeout-minutes : 30
@@ -468,9 +544,12 @@ jobs:
468544 uses : astral-sh/setup-uv@v7
469545 - name : Install SQLMesh dev dependencies
470546 run : |
471- uv venv .venv
472- source .venv/bin/activate
473- UV=1 make install-dev-dbt-${{ matrix.dbt-version }}
547+ for i in 1 2 3; do
548+ uv venv .venv && source .venv/bin/activate &&
549+ UV=1 make install-dev-dbt-${{ matrix.dbt-version }} && break
550+ if [ "$i" -eq 3 ]; then exit 1; fi
551+ sleep 5
552+ done
474553 - name : Run dbt tests
475554 # We can't run slow tests across all engines due to tests requiring DuckDB and old versions
476555 # of DuckDB require a version of DuckDB we no longer support
0 commit comments