Skip to content

Commit 971aaeb

Browse files
authored
Merge branch 'main' into devin/GRN-4939-1760472067
2 parents 7b4caf2 + 614334b commit 971aaeb

32 files changed

+3255
-799
lines changed

.devcontainer/dev-with-python/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333

3434
"mounts": ["source=${localWorkspaceFolder},target=/workspaces/local,type=bind,consistency=cached"],
3535
// Use 'postCreateCommand' to run commands after the container is created.
36-
// "postCreateCommand": "npm ci",
36+
// "postCreateCommand": "npm install",
3737
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
3838
"remoteUser": "vscode"
3939
}

.devcontainer/dev/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
},
2020
"mounts": ["source=${localWorkspaceFolder},target=/workspaces/local,type=bind,consistency=cached"]
2121
// Use 'postCreateCommand' to run commands after the container is created.
22-
// "postCreateCommand": "npm ci",
22+
// "postCreateCommand": "npm install",
2323
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
2424
// , "remoteUser": "vscode"
2525
}

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# Default owners for everything in the repository
2-
* @saltenasl @jamesbhobbs @Artmann @andyjakubowski
2+
* @saltenasl @jamesbhobbs @Artmann

.github/workflows/ci.yml

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ on:
77
branches: [main]
88
workflow_dispatch:
99

10-
env:
11-
NODE_VERSION: 22.x
12-
1310
permissions:
1411
actions: read
1512
contents: read
@@ -32,7 +29,7 @@ jobs:
3229
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
3330
with:
3431
cache: 'npm'
35-
node-version: ${{ env.NODE_VERSION }}
32+
node-version-file: '.nvmrc'
3633
registry-url: 'https://npm.pkg.github.com'
3734
scope: '@deepnote'
3835

@@ -56,7 +53,7 @@ jobs:
5653
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
5754
with:
5855
cache: 'npm'
59-
node-version: ${{ env.NODE_VERSION }}
56+
node-version-file: '.nvmrc'
6057
registry-url: 'https://npm.pkg.github.com'
6158
scope: '@deepnote'
6259

@@ -75,10 +72,12 @@ jobs:
7572

7673
steps:
7774
- name: Checkout code
78-
uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
75+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
76+
with:
77+
fetch-depth: 0
7978

8079
- name: Install qlty
81-
uses: qltysh/qlty-action/install@a19242102d17e497f437d7466aa01b528537e899
80+
uses: qltysh/qlty-action/install@6bbb1add7432c45a3fd35a824ea69dc5bef27967
8281

8382
- name: Run qlty check
8483
run: qlty check
@@ -102,7 +101,7 @@ jobs:
102101
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
103102
with:
104103
cache: 'npm'
105-
node-version: ${{ env.NODE_VERSION }}
104+
node-version-file: '.nvmrc'
106105
registry-url: 'https://npm.pkg.github.com'
107106
scope: '@deepnote'
108107

@@ -152,7 +151,7 @@ jobs:
152151
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
153152
with:
154153
cache: 'npm'
155-
node-version: ${{ env.NODE_VERSION }}
154+
node-version-file: '.nvmrc'
156155
registry-url: 'https://npm.pkg.github.com'
157156
scope: '@deepnote'
158157

@@ -164,6 +163,30 @@ jobs:
164163
- name: Check Licenses
165164
run: npm run check-licenses
166165

166+
spell-check:
167+
name: Spell Check
168+
runs-on: ubuntu-latest
169+
timeout-minutes: 15
170+
steps:
171+
- name: Checkout
172+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
173+
174+
- name: Setup Node.js
175+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
176+
with:
177+
cache: 'npm'
178+
node-version-file: '.nvmrc'
179+
registry-url: 'https://npm.pkg.github.com'
180+
scope: '@deepnote'
181+
182+
- name: Install dependencies
183+
run: npm ci --prefer-offline --no-audit
184+
env:
185+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
186+
187+
- name: Run spell check
188+
run: npm run spell-check
189+
167190
audit-prod:
168191
name: Audit - Production
169192
runs-on: ubuntu-latest
@@ -176,7 +199,7 @@ jobs:
176199
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
177200
with:
178201
cache: 'npm'
179-
node-version: ${{ env.NODE_VERSION }}
202+
node-version-file: '.nvmrc'
180203
registry-url: 'https://npm.pkg.github.com'
181204
scope: '@deepnote'
182205

@@ -200,7 +223,7 @@ jobs:
200223
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
201224
with:
202225
cache: 'npm'
203-
node-version: ${{ env.NODE_VERSION }}
226+
node-version-file: '.nvmrc'
204227
registry-url: 'https://npm.pkg.github.com'
205228
scope: '@deepnote'
206229

.github/workflows/copilot-setup-steps.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ on:
1212
- .github/workflows/copilot-setup-steps.yml
1313

1414
env:
15-
NODE_VERSION: 22.15.1
1615
NPM_VERSION: 10.9.2
1716
PYTHON_VERSION: 3.12
1817
DENO_VERSION: '~1.37'
@@ -42,7 +41,7 @@ jobs:
4241
- name: Use Node ${{env.NODE_VERSION}}
4342
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
4443
with:
45-
node-version: ${{env.NODE_VERSION}}
44+
node-version-file: '.nvmrc'
4645
registry-url: 'https://npm.pkg.github.com'
4746
scope: '@deepnote'
4847

@@ -79,7 +78,7 @@ jobs:
7978
continue-on-error: true
8079

8180
- name: Install uv
82-
uses: astral-sh/setup-uv@3259c6206f993105e3a61b142c2d97bf4b9ef83d # v7
81+
uses: astral-sh/setup-uv@2ddd2b9cb38ad8efd50337e8ab201519a34c9f24 # v7
8382

8483
- name: Setup Venv
8584
run: |

.github/workflows/deps.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ on:
66
- cron: '0 9 * * 1'
77
workflow_dispatch:
88

9-
env:
10-
NODE_VERSION: 22.x
11-
129
permissions:
1310
actions: read
1411
contents: read
@@ -30,7 +27,7 @@ jobs:
3027
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
3128
with:
3229
cache: 'npm'
33-
node-version: ${{ env.NODE_VERSION }}
30+
node-version-file: '.nvmrc'
3431
registry-url: 'https://npm.pkg.github.com'
3532
scope: '@deepnote'
3633

@@ -62,7 +59,7 @@ jobs:
6259
- name: Setup Node.js
6360
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
6461
with:
65-
node-version: ${{ env.NODE_VERSION }}
62+
node-version-file: '.nvmrc'
6663
cache: 'npm'
6764

6865
- name: Install dependencies

.github/workflows/package.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: CD
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
12+
packages: read
13+
14+
concurrency:
15+
group: ${{ github.workflow }}-${{ github.ref }}
16+
cancel-in-progress: true
17+
18+
jobs:
19+
package:
20+
name: Build & Package Extension
21+
runs-on: ubuntu-latest
22+
timeout-minutes: 20
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
26+
27+
- name: Setup Node.js
28+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
29+
with:
30+
cache: 'npm'
31+
node-version-file: '.nvmrc'
32+
registry-url: 'https://npm.pkg.github.com'
33+
scope: '@deepnote'
34+
35+
- name: Install dependencies
36+
run: npm ci --prefer-offline --no-audit
37+
env:
38+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39+
40+
- name: Install vsce
41+
run: npm install -g @vscode/vsce
42+
43+
- name: Extract version from package.json
44+
id: package-version
45+
run: |
46+
VERSION=$(node -p "require('./package.json').version")
47+
echo "version=$VERSION" >> $GITHUB_OUTPUT
48+
echo "Extension version: $VERSION"
49+
50+
- name: Extract and sanitize branch name
51+
id: branch-name
52+
env:
53+
UNTRUSTED_HEAD_REF: ${{ github.head_ref }}
54+
EVENT_NAME: ${{ github.event_name }}
55+
run: |
56+
# Get branch name from ref (use env vars to avoid direct interpolation)
57+
if [[ "$EVENT_NAME" == "pull_request" ]]; then
58+
BRANCH="$UNTRUSTED_HEAD_REF"
59+
else
60+
BRANCH="${GITHUB_REF#refs/heads/}"
61+
fi
62+
# Sanitize branch name for filename (replace / with -)
63+
SAFE_BRANCH=$(printf '%s' "$BRANCH" | sed 's/\//-/g')
64+
printf 'branch=%s\n' "$SAFE_BRANCH" >> "$GITHUB_OUTPUT"
65+
printf 'Branch name: %s (sanitized: %s)\n' "$BRANCH" "$SAFE_BRANCH"
66+
67+
- name: Package extension
68+
run: npm run package
69+
70+
- name: Rename VSIX file
71+
run: |
72+
# The package script creates vscode-deepnote-insiders.vsix
73+
# Rename it to include version and branch
74+
mv vscode-deepnote-insiders.vsix "vscode-deepnote-${{ steps.package-version.outputs.version }}-${{ steps.branch-name.outputs.branch }}.vsix"
75+
ls -lh *.vsix
76+
77+
- name: Upload VSIX artifact
78+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
79+
with:
80+
name: vscode-deepnote-${{ steps.package-version.outputs.version }}-${{ steps.branch-name.outputs.branch }}
81+
path: vscode-deepnote-*.vsix
82+
retention-days: 30
83+
if-no-files-found: error
84+
85+
- name: Add summary
86+
run: |
87+
echo "## 📦 Extension Packaged Successfully" >> $GITHUB_STEP_SUMMARY
88+
echo "" >> $GITHUB_STEP_SUMMARY
89+
echo "**Version:** ${{ steps.package-version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
90+
echo "**Branch:** ${{ steps.branch-name.outputs.branch }}" >> $GITHUB_STEP_SUMMARY
91+
echo "" >> $GITHUB_STEP_SUMMARY
92+
echo "### Installation Instructions" >> $GITHUB_STEP_SUMMARY
93+
echo "1. Download the artifact from the Actions tab" >> $GITHUB_STEP_SUMMARY
94+
echo "2. Extract the .vsix file from the zip" >> $GITHUB_STEP_SUMMARY
95+
echo "3. Install in VS Code:" >> $GITHUB_STEP_SUMMARY
96+
echo " - Open VS Code" >> $GITHUB_STEP_SUMMARY
97+
echo " - Go to Extensions view (Ctrl+Shift+X / Cmd+Shift+X)" >> $GITHUB_STEP_SUMMARY
98+
echo " - Click the '...' menu → 'Install from VSIX...'" >> $GITHUB_STEP_SUMMARY
99+
echo " - Select the downloaded .vsix file" >> $GITHUB_STEP_SUMMARY
100+
echo "" >> $GITHUB_STEP_SUMMARY
101+
echo "Alternatively, use the command line:" >> $GITHUB_STEP_SUMMARY
102+
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
103+
echo "code --install-extension vscode-deepnote-${{ steps.package-version.outputs.version }}-${{ steps.branch-name.outputs.branch }}.vsix" >> $GITHUB_STEP_SUMMARY
104+
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY

.husky/post-checkout

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
npm ci
1+
npm install

CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ The `@deepnote/blocks` package is published on GitHub Packages. To install it, y
5858
```
5959
Replace `YOUR_TOKEN_HERE` with your actual token.
6060

61-
After completing these steps, you can install dependencies normally with `npm ci`. The project's `.npmrc` file is already configured to use GitHub Packages for the `@deepnote` scope.
61+
After completing these steps, you can install dependencies normally with `npm install`. The project's `.npmrc` file is already configured to use GitHub Packages for the `@deepnote` scope.
6262

6363
On Apple Silicon, you will have to use system versions of `libsodium` and `libzmq` instead of the bundled ones:
6464

@@ -78,7 +78,7 @@ npm_config_build_from_source=true npm install zeromq@
7878
Install the dependecies:
7979

8080
```shell
81-
npm ci
81+
npm install
8282
# Run this to setup the necessary pre-commit hooks.
8383
npm run setup-precommit-hook
8484
python3 -m venv .venv
@@ -277,7 +277,7 @@ Here's an example of a typical workflow:
277277

278278
1. Sync to main (get your fork's main to match vscode-jupyter's main)
279279
1. Create branch
280-
1. `npm ci`
280+
1. `npm install`
281281
1. `npm run clean`
282282
1. Start VS code Insiders root
283283
1. CTRL+SHIFT+B (run the task `compile`)
@@ -354,7 +354,7 @@ Steps to build the extension on your machine once you've cloned the repo:
354354
```bash
355355
> npm install -g @vscode/vsce
356356
# Perform the next steps in the vscode-jupyter folder.
357-
> npm ci
357+
> npm install
358358
> npm run clean
359359
> npm run package # This step takes around 10 minutes.
360360
```

cspell.json

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{
2+
"version": "0.2",
3+
"files": [
4+
"src/notebooks/deepnote/**",
5+
"src/kernels/deepnote/**",
6+
"src/platform/errors/deepnoteServerNotFoundError.ts"
7+
],
8+
"ignorePaths": [
9+
"node_modules",
10+
"package-lock.json",
11+
"pnpm-lock.yaml",
12+
"dist",
13+
"out",
14+
"build",
15+
"coverage",
16+
".vscode",
17+
".git",
18+
"*.min.js",
19+
"*.min.css",
20+
"*.map"
21+
],
22+
"language": "en",
23+
"words": [
24+
"blockgroup",
25+
"channeldef",
26+
"dataframe",
27+
"deepnote",
28+
"deepnoteserver",
29+
"dntk",
30+
"dont",
31+
"DONT",
32+
"ename",
33+
"evalue",
34+
"findstr",
35+
"getsitepackages",
36+
"IMAGENAME",
37+
"ipykernel",
38+
"ipynb",
39+
"jupyter",
40+
"jupyterlab",
41+
"JVSC",
42+
"millis",
43+
"nbformat",
44+
"numpy",
45+
"pids",
46+
"Pids",
47+
"PYTHONHOME",
48+
"Reselecting",
49+
"taskkill",
50+
"unconfigured",
51+
"Unconfigured",
52+
"unittests",
53+
"vegalite",
54+
"venv",
55+
"venv's",
56+
"Venv",
57+
"venvs",
58+
"vscode"
59+
],
60+
"useGitignore": true
61+
}

0 commit comments

Comments
 (0)