Skip to content

Commit d91bc18

Browse files
committed
Merge remote-tracking branch 'origin/main' into feature/DRM/resolve-indirect-non-breaking-deployable-representative-mismatch
2 parents 95f9af2 + b44b9d3 commit d91bc18

29 files changed

Lines changed: 1038 additions & 98 deletions
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"features": {
3+
"ghcr.io/devcontainers/features/common-utils:2": {
4+
"version": "2.5.9",
5+
"resolved": "ghcr.io/devcontainers/features/common-utils@sha256:cb0c4d3c276f157eed17935747e364178d75fee17f55c4e129966f64633deb3a",
6+
"integrity": "sha256:cb0c4d3c276f157eed17935747e364178d75fee17f55c4e129966f64633deb3a"
7+
},
8+
"ghcr.io/devcontainers/features/docker-in-docker:4": {
9+
"version": "4.0.0",
10+
"resolved": "ghcr.io/devcontainers/features/docker-in-docker@sha256:4fa87399214366e320d489991769c4f3f461e1ffe461f54eea78a41b34945bb5",
11+
"integrity": "sha256:4fa87399214366e320d489991769c4f3f461e1ffe461f54eea78a41b34945bb5"
12+
},
13+
"ghcr.io/devcontainers/features/java:1": {
14+
"version": "1.8.1",
15+
"resolved": "ghcr.io/devcontainers/features/java@sha256:8157bab2d8d71e40b2f3128c162fab763e2b11038fdd33784549290a5d386b48",
16+
"integrity": "sha256:8157bab2d8d71e40b2f3128c162fab763e2b11038fdd33784549290a5d386b48"
17+
},
18+
"ghcr.io/devcontainers/features/python:1": {
19+
"version": "1.8.0",
20+
"resolved": "ghcr.io/devcontainers/features/python@sha256:fbcad6955caeecc5ad3f7886baf652e25cba5225a6c4c2287c536de2e5607511",
21+
"integrity": "sha256:fbcad6955caeecc5ad3f7886baf652e25cba5225a6c4c2287c536de2e5607511"
22+
}
23+
}
24+
}

.devcontainer/devcontainer.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"name": "SQLMesh Python Dev",
3+
"image": "mcr.microsoft.com/devcontainers/base:ubuntu-24.04",
4+
"features": {
5+
"ghcr.io/devcontainers/features/common-utils:2": {},
6+
"ghcr.io/devcontainers/features/python:1": {
7+
"version": "3.12"
8+
},
9+
"ghcr.io/devcontainers/features/java:1": {
10+
"version": "21"
11+
},
12+
"ghcr.io/devcontainers/features/docker-in-docker:4": {}
13+
},
14+
"postCreateCommand": "bash .devcontainer/post-create-command.sh",
15+
"customizations": {
16+
"vscode": {
17+
"extensions": [
18+
"ms-python.python",
19+
"ms-python.vscode-pylance"
20+
]
21+
}
22+
},
23+
"remoteUser": "vscode"
24+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/bin/bash
2+
3+
# This script is intended to be run by an Ubuntu development container
4+
5+
# Exit immediately if any command returns a non-zero code
6+
set -e
7+
8+
# Install OS-level dependencies
9+
10+
## Ensure that the Microsoft package repository is available as it is required for msodbcsql18. Note that the repository
11+
## may have already been added by a development container feature (e.g. docker-in-docker or java).
12+
if apt-cache policy | grep -q 'packages.microsoft.com'; then
13+
echo "Microsoft package repository already present"
14+
else
15+
echo "Microsoft package repository not present, it will be added."
16+
17+
# ref: https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
18+
curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb
19+
sudo dpkg -i packages-microsoft-prod.deb
20+
rm packages-microsoft-prod.deb
21+
fi
22+
23+
ALL_DEPENDENCIES="libpq-dev netcat-traditional unixodbc-dev default-jdk msodbcsql18"
24+
sudo apt-get clean && sudo apt-get -y update && sudo ACCEPT_EULA='Y' apt-get -y install $ALL_DEPENDENCIES
25+
26+
# Install Python dependencies
27+
make install-dev

.github/workflows/pr.yaml

Lines changed: 39 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ jobs:
1818
client: ${{ steps.filter.outputs.client }}
1919
ci: ${{ steps.filter.outputs.ci }}
2020
steps:
21-
- uses: actions/checkout@v5
22-
- uses: dorny/paths-filter@v3
21+
- uses: actions/checkout@v7
22+
- uses: dorny/paths-filter@v4
2323
id: filter
2424
with:
2525
filters: |
@@ -48,9 +48,9 @@ jobs:
4848
env:
4949
UV: '1'
5050
steps:
51-
- uses: actions/checkout@v5
51+
- uses: actions/checkout@v7
5252
- name: Set up Python
53-
uses: actions/setup-python@v6
53+
uses: actions/setup-python@v7
5454
with:
5555
python-version: '3.10'
5656
- name: Install uv
@@ -79,11 +79,11 @@ jobs:
7979
PYTEST_XDIST_AUTO_NUM_WORKERS: 2
8080
UV: '1'
8181
steps:
82-
- uses: actions/checkout@v5
82+
- uses: actions/checkout@v7
8383
with:
8484
fetch-depth: 0
8585
- name: Set up Python
86-
uses: actions/setup-python@v6
86+
uses: actions/setup-python@v7
8787
with:
8888
python-version: ${{ matrix.python-version }}
8989
- name: Install uv
@@ -115,7 +115,7 @@ jobs:
115115
source .venv/bin/activate
116116
make cicd-test
117117
- name: Upload test results
118-
uses: actions/upload-artifact@v5
118+
uses: actions/upload-artifact@v7
119119
if: ${{ !cancelled() }}
120120
with:
121121
name: test-results-style-cicd-${{ matrix.python-version }}
@@ -131,11 +131,11 @@ jobs:
131131
steps:
132132
- name: Enable symlinks in git config
133133
run: git config --global core.symlinks true
134-
- uses: actions/checkout@v5
134+
- uses: actions/checkout@v7
135135
- name: Install make
136136
run: choco install make which -y
137137
- name: Set up Python
138-
uses: actions/setup-python@v6
138+
uses: actions/setup-python@v7
139139
with:
140140
python-version: '3.12'
141141
- name: Install SQLMesh dev dependencies
@@ -151,7 +151,7 @@ jobs:
151151
python --version
152152
make fast-test
153153
- name: Upload test results
154-
uses: actions/upload-artifact@v5
154+
uses: actions/upload-artifact@v7
155155
if: ${{ !cancelled() }}
156156
with:
157157
name: test-results-windows
@@ -168,11 +168,11 @@ jobs:
168168
SQLMESH__DISABLE_ANONYMIZED_ANALYTICS: '1'
169169
UV: '1'
170170
steps:
171-
- uses: actions/checkout@v5
171+
- uses: actions/checkout@v7
172172
with:
173173
fetch-depth: 0
174174
- name: Set up Python
175-
uses: actions/setup-python@v6
175+
uses: actions/setup-python@v7
176176
with:
177177
python-version: '3.10'
178178
- name: Install uv
@@ -193,17 +193,17 @@ jobs:
193193
# 'true' || github.ref == 'refs/heads/main'
194194
runs-on: ubuntu-latest
195195
steps:
196-
- uses: actions/checkout@v5
197-
- uses: actions/setup-node@v6
196+
- uses: actions/checkout@v7
197+
- uses: actions/setup-node@v7
198198
with:
199199
node-version: '22'
200-
- uses: pnpm/action-setup@v4
200+
- uses: pnpm/action-setup@v6
201201
with:
202202
version: latest
203203
- name: Get pnpm store directory
204204
id: pnpm-cache
205205
run: echo "store=$(pnpm store path)" >> $GITHUB_OUTPUT
206-
- uses: actions/cache@v4
206+
- uses: actions/cache@v6
207207
with:
208208
path: ${{ steps.pnpm-cache.outputs.store }}
209209
key: pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
@@ -222,7 +222,7 @@ jobs:
222222
container:
223223
image: mcr.microsoft.com/playwright:v1.54.1-jammy
224224
steps:
225-
- uses: actions/checkout@v5
225+
- uses: actions/checkout@v7
226226
- name: Install pnpm via corepack
227227
run: |
228228
npm install --global corepack@latest
@@ -258,9 +258,9 @@ jobs:
258258
SQLMESH__DISABLE_ANONYMIZED_ANALYTICS: '1'
259259
UV: '1'
260260
steps:
261-
- uses: actions/checkout@v5
261+
- uses: actions/checkout@v7
262262
- name: Set up Python
263-
uses: actions/setup-python@v6
263+
uses: actions/setup-python@v7
264264
with:
265265
python-version: '3.12'
266266
- name: Install uv
@@ -277,7 +277,7 @@ jobs:
277277
source .venv/bin/activate
278278
make ${{ matrix.engine }}-test
279279
- name: Upload test results
280-
uses: actions/upload-artifact@v5
280+
uses: actions/upload-artifact@v7
281281
if: ${{ !cancelled() }}
282282
with:
283283
name: test-results-docker-${{ matrix.engine }}
@@ -342,9 +342,9 @@ jobs:
342342
FABRIC_TENANT_ID: ${{ secrets.FABRIC_TENANT_ID }}
343343
FABRIC_WORKSPACE_ID: ${{ secrets.FABRIC_WORKSPACE_ID }}
344344
steps:
345-
- uses: actions/checkout@v5
345+
- uses: actions/checkout@v7
346346
- name: Set up Python
347-
uses: actions/setup-python@v6
347+
uses: actions/setup-python@v7
348348
with:
349349
python-version: '3.12'
350350
- name: Install uv
@@ -385,7 +385,7 @@ jobs:
385385
./.github/scripts/manage-test-db.sh "${{ matrix.engine }}"
386386
"$TEST_DB_NAME" down
387387
- name: Upload test results
388-
uses: actions/upload-artifact@v5
388+
uses: actions/upload-artifact@v7
389389
if: ${{ !cancelled() }}
390390
with:
391391
name: test-results-cloud-${{ matrix.engine }}
@@ -398,11 +398,11 @@ jobs:
398398
runs-on: ubuntu-latest
399399
if: false
400400
steps:
401-
- uses: actions/checkout@v5
402-
- uses: actions/setup-node@v6
401+
- uses: actions/checkout@v7
402+
- uses: actions/setup-node@v7
403403
with:
404404
node-version: '22'
405-
- uses: pnpm/action-setup@v4
405+
- uses: pnpm/action-setup@v6
406406
with:
407407
version: latest
408408
- name: Install dependencies
@@ -415,17 +415,17 @@ jobs:
415415
# As at 2026-01-12 this job flakes 100% of the time. It needs investigation
416416
if: false
417417
steps:
418-
- uses: actions/checkout@v5
419-
- uses: actions/setup-node@v6
418+
- uses: actions/checkout@v7
419+
- uses: actions/setup-node@v7
420420
with:
421421
node-version: '22'
422-
- uses: pnpm/action-setup@v4
422+
- uses: pnpm/action-setup@v6
423423
with:
424424
version: latest
425425
- name: Install dependencies
426426
run: pnpm install
427427
- name: Set up Python
428-
uses: actions/setup-python@v6
428+
uses: actions/setup-python@v7
429429
with:
430430
python-version: '3.12'
431431
- name: Install uv
@@ -446,7 +446,7 @@ jobs:
446446
run: |
447447
source ../../.venv/bin/activate
448448
pnpm run test:e2e
449-
- uses: actions/upload-artifact@v5
449+
- uses: actions/upload-artifact@v7
450450
if: ${{ !cancelled() }}
451451
with:
452452
name: playwright-report
@@ -459,9 +459,9 @@ jobs:
459459
matrix:
460460
dbt-version: ['1.3', '1.4', '1.5', '1.6', '1.7', '1.8', '1.9', '1.10']
461461
steps:
462-
- uses: actions/checkout@v5
462+
- uses: actions/checkout@v7
463463
- name: Set up Python
464-
uses: actions/setup-python@v6
464+
uses: actions/setup-python@v7
465465
with:
466466
python-version: '3.10'
467467
- name: Install uv
@@ -514,7 +514,12 @@ jobs:
514514
echo "DBT version is ${{ matrix.dbt-version }} (>= 1.6.0), keeping semantic_models and metrics sections"
515515
fi
516516
517-
make dbt-fast-test
517+
# dbt 1.6 installs without web/lsp (pydantic conflict); skip collecting those tests
518+
if [[ "${{ matrix.dbt-version }}" == "1.6" ]]; then
519+
pytest -n auto -m "dbt and fast" --reruns 3 --ignore=tests/lsp --ignore=tests/web
520+
else
521+
make dbt-fast-test
522+
fi
518523
- name: Test SQLMesh info in sushi_dbt
519524
working-directory: ./examples/sushi_dbt
520525
run: |

.github/workflows/release.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ jobs:
99
ui-build:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v5
13-
- uses: actions/setup-node@v6
12+
- uses: actions/checkout@v7
13+
- uses: actions/setup-node@v7
1414
with:
1515
node-version: '22'
16-
- uses: pnpm/action-setup@v4
16+
- uses: pnpm/action-setup@v6
1717
with:
1818
version: latest
1919
- name: Install dependencies
2020
run: pnpm install --frozen-lockfile
2121
- name: Build UI
2222
run: pnpm --prefix web/client run build
2323
- name: Upload UI build artifact
24-
uses: actions/upload-artifact@v5
24+
uses: actions/upload-artifact@v7
2525
with:
2626
name: ui-dist
2727
path: web/client/dist/
@@ -31,14 +31,14 @@ jobs:
3131
needs: ui-build
3232
runs-on: ubuntu-latest
3333
steps:
34-
- uses: actions/checkout@v5
34+
- uses: actions/checkout@v7
3535
- name: Download UI build artifact
36-
uses: actions/download-artifact@v4
36+
uses: actions/download-artifact@v8
3737
with:
3838
name: ui-dist
3939
path: web/client/dist/
4040
- name: Set up Python
41-
uses: actions/setup-python@v6
41+
uses: actions/setup-python@v7
4242
with:
4343
python-version: '3.10'
4444
- name: Install uv
@@ -61,11 +61,11 @@ jobs:
6161
gh-release:
6262
runs-on: ubuntu-latest
6363
steps:
64-
- uses: actions/checkout@v5
64+
- uses: actions/checkout@v7
6565
with:
6666
fetch-depth: 0
6767
- name: Create release on GitHub
68-
uses: softprops/action-gh-release@v2
68+
uses: softprops/action-gh-release@v3
6969
with:
7070
generate_release_notes: true
7171
tag_name: ${{ github.ref_name }}

.github/workflows/release_extension.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Checkout repository
14-
uses: actions/checkout@v5
14+
uses: actions/checkout@v7
1515
- name: Check branch is main
1616
run: |
1717
if [[ "${{ github.ref }}" != "refs/heads/main" ]]; then
@@ -28,11 +28,11 @@ jobs:
2828
fi
2929
echo "Version format is valid: $version"
3030
- name: Setup Node.js
31-
uses: actions/setup-node@v6
31+
uses: actions/setup-node@v7
3232
with:
3333
node-version: '22'
3434
- name: Install pnpm
35-
uses: pnpm/action-setup@v4
35+
uses: pnpm/action-setup@v6
3636
with:
3737
version: 10
3838
- name: Install dependencies

0 commit comments

Comments
 (0)