Skip to content

Commit dc35f60

Browse files
authored
Merge branch 'main' into main
2 parents 9595304 + 245e8c9 commit dc35f60

File tree

410 files changed

+30730
-24309
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

410 files changed

+30730
-24309
lines changed

.circleci/config.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ on_main_or_tag_filter: &on_main_or_tag_filter
77
branches:
88
only: main
99
tags:
10-
only: /^v.+/
10+
only: /^v\d+\.\d+\.\d+/
1111

1212
on_tag_filter: &on_tag_filter
1313
filters:
1414
branches:
1515
ignore: /.*/
1616
tags:
17-
only: /^v.+/
17+
only: /^v\d+\.\d+\.\d+/
1818

1919
orbs:
2020
path-filtering: circleci/path-filtering@1.2.0
@@ -39,7 +39,7 @@ jobs:
3939
command: unset TWINE_USERNAME TWINE_PASSWORD && make publish-tests
4040
gh-release:
4141
docker:
42-
- image: cimg/node:16.14
42+
- image: cimg/node:20.19.0
4343
resource_class: small
4444
steps:
4545
- run:
@@ -54,7 +54,7 @@ jobs:
5454
5555
ui-build:
5656
docker:
57-
- image: cimg/node:19.8
57+
- image: cimg/node:20.19.0
5858
resource_class: medium
5959
steps:
6060
- checkout

.circleci/continue_config.yml

Lines changed: 2 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ jobs:
172172

173173
ui_test:
174174
docker:
175-
- image: mcr.microsoft.com/playwright:v1.52.0-jammy
175+
- image: mcr.microsoft.com/playwright:v1.54.1-jammy
176176
resource_class: medium
177177
steps:
178178
- halt_unless_client
@@ -201,39 +201,6 @@ jobs:
201201
name: Run tests
202202
command: npm --prefix web/client run test
203203

204-
trigger_private_tests:
205-
docker:
206-
- image: cimg/python:3.12.0
207-
resource_class: small
208-
steps:
209-
- checkout
210-
- run:
211-
name: Install setuptools scm
212-
command: pip install setuptools_scm
213-
- run:
214-
name: Trigger private tests
215-
command: |
216-
export COMMIT_MESSAGE="$(git log --format=%s -n 1 $CIRCLE_SHA1)"
217-
export FORMATTED_COMMIT_MESSAGE="${COMMIT_MESSAGE//\"/\\\"}"
218-
# returns a version string like 0.1.0.dev11
219-
export PACKAGE_VERSION="$(python ./.circleci/get_scm_version.py)"
220-
curl --request POST \
221-
--url $TOBIKO_PRIVATE_CIRCLECI_URL \
222-
--header "Circle-Token: $TOBIKO_PRIVATE_CIRCLECI_KEY" \
223-
--header "content-type: application/json" \
224-
--data '{
225-
"branch":"main",
226-
"parameters":{
227-
"run_main_pr":false,
228-
"run_sqlmesh_commit":true,
229-
"sqlmesh_branch":"'$CIRCLE_BRANCH'",
230-
"sqlmesh_commit_author":"'$CIRCLE_USERNAME'",
231-
"sqlmesh_commit_hash":"'$CIRCLE_SHA1'",
232-
"sqlmesh_commit_message":"'"$FORMATTED_COMMIT_MESSAGE"'",
233-
"sqlmesh_package_version":"'$PACKAGE_VERSION'"
234-
}
235-
}'
236-
237204
engine_tests_docker:
238205
parameters:
239206
engine:
@@ -306,6 +273,7 @@ workflows:
306273
- "3.10"
307274
- "3.11"
308275
- "3.12"
276+
- "3.13"
309277
- cicd_tests_windows
310278
- engine_tests_docker:
311279
name: engine_<< matrix.engine >>
@@ -339,13 +307,6 @@ workflows:
339307
branches:
340308
only:
341309
- main
342-
- trigger_private_tests:
343-
requires:
344-
- style_and_cicd_tests
345-
filters:
346-
branches:
347-
only:
348-
- main
349310
- ui_style
350311
- ui_test
351312
- vscode_test

.github/workflows/pr.yaml

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,52 @@ jobs:
1717
- uses: actions/checkout@v4
1818
- uses: actions/setup-node@v4
1919
with:
20-
node-version: '20'
20+
node-version: '22'
2121
- uses: pnpm/action-setup@v4
2222
with:
2323
version: latest
2424
- name: Install dependencies
2525
run: pnpm install
2626
- name: Run CI
2727
run: pnpm run ci
28+
test-vscode-e2e:
29+
runs-on:
30+
labels: [ubuntu-2204-8]
31+
steps:
32+
- uses: actions/checkout@v4
33+
- uses: actions/setup-node@v4
34+
with:
35+
node-version: '22'
36+
- uses: pnpm/action-setup@v4
37+
with:
38+
version: latest
39+
- name: Install dependencies
40+
run: pnpm install
41+
- name: Set up Python
42+
uses: actions/setup-python@v5
43+
with:
44+
python-version: '3.12'
45+
- name: Install uv
46+
uses: astral-sh/setup-uv@v6
47+
- name: Install python dependencies
48+
run: |
49+
python -m venv .venv
50+
source .venv/bin/activate
51+
make install-dev
52+
- name: Install code-server
53+
run: curl -fsSL https://code-server.dev/install.sh | sh
54+
- name: Install Playwright browsers
55+
working-directory: ./vscode/extension
56+
run: pnpm exec playwright install
57+
- name: Run e2e tests
58+
working-directory: ./vscode/extension
59+
timeout-minutes: 90
60+
run: |
61+
source ../../.venv/bin/activate
62+
pnpm run test:e2e
63+
- uses: actions/upload-artifact@v4
64+
if: ${{ !cancelled() }}
65+
with:
66+
name: playwright-report
67+
path: vscode/extension/playwright-report/
68+
retention-days: 30
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Release VSCode Extension
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
version:
6+
description: 'Version to release (e.g., 1.0.0)'
7+
required: true
8+
type: string
9+
jobs:
10+
release:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
- name: Check branch is main
16+
run: |
17+
if [[ "${{ github.ref }}" != "refs/heads/main" ]]; then
18+
echo "Error: This workflow can only be run from the main branch"
19+
exit 1
20+
fi
21+
echo "Branch check passed: running from main branch"
22+
- name: Validate version format
23+
run: |
24+
version="${{ github.event.inputs.version }}"
25+
if ! [[ $version =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ ]]; then
26+
echo "Error: Version must be a valid semantic version (e.g., 1.0.0, 1.0.0-beta.1, 1.0.0+build.1)"
27+
exit 1
28+
fi
29+
echo "Version format is valid: $version"
30+
- name: Setup Node.js
31+
uses: actions/setup-node@v4
32+
with:
33+
node-version: '20'
34+
- name: Install pnpm
35+
uses: pnpm/action-setup@v4
36+
with:
37+
version: 10
38+
- name: Install dependencies
39+
run: pnpm install --frozen-lockfile
40+
- name: Update package.json version
41+
working-directory: vscode/extension
42+
run: |
43+
npm version ${{ github.event.inputs.version }} --no-git-tag-version
44+
- name: Build extension
45+
working-directory: vscode/extension
46+
run: pnpm run vscode:package
47+
- name: Upload extension to Marketplace
48+
working-directory: vscode/extension
49+
run: |
50+
pnpx vsce publish --packagePath sqlmesh-${{ github.event.inputs.version }}.vsix
51+
env:
52+
VSCE_PAT: ${{ secrets.VSCE_PAT }}
53+
- name: Upload extension to OpenVSX
54+
working-directory: vscode/extension
55+
run: |
56+
pnpx ovsx publish -p ${{ secrets.OPEN_VSX_TOKEN }} sqlmesh-${{ github.event.inputs.version }}.vsix

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
20

.pre-commit-config.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,8 @@ repos:
2323
files: *files
2424
require_serial: true
2525
exclude: ^(tests/fixtures)
26+
- id: valid migrations
27+
name: valid migrations
28+
entry: tooling/validating_migration_numbers.sh
29+
language: system
30+
pass_filenames: false

.prettierignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ vscode/extension/out
2020
vscode/extension/src_react
2121
vscode/extension/tsconfig.tsbuildinfo
2222
vscode/extension/.vscode-test/
23+
vscode/extension/playwright-report/
24+
vscode/extension/test-results/
25+
vscode/extension/.test_setup
2326

2427
sqlmesh
2528
docs

0 commit comments

Comments
 (0)