Skip to content

Commit fcd612c

Browse files
committed
Merge remote-tracking branch 'origin/main' into jk/feat/integration-management
2 parents f263f62 + 92b4461 commit fcd612c

File tree

62 files changed

+6237
-796
lines changed

Some content is hidden

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

62 files changed

+6237
-796
lines changed

.github/CODEOWNERS

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

.github/actions/create-venv-for-tests/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ runs:
1616
using: 'composite'
1717
steps:
1818
- name: Install uv
19-
uses: astral-sh/setup-uv@v6
19+
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6
2020

2121
# Used by tests for installation of ipykernel.
2222
# Create a venv & register it as a kernel.

.github/workflows/ci.yml

Lines changed: 135 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ env:
1111
NODE_VERSION: 22.x
1212

1313
permissions:
14-
contents: read
1514
actions: read
15+
contents: read
16+
packages: read
1617

1718
concurrency:
1819
group: ${{ github.workflow }}-${{ github.ref }}
@@ -25,67 +26,191 @@ jobs:
2526
timeout-minutes: 15
2627
steps:
2728
- name: Checkout
28-
uses: actions/checkout@v5
29+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
2930

3031
- name: Setup Node.js
31-
uses: actions/setup-node@v5
32+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
3233
with:
33-
node-version: ${{ env.NODE_VERSION }}
3434
cache: 'npm'
35+
node-version: ${{ env.NODE_VERSION }}
36+
registry-url: 'https://npm.pkg.github.com'
37+
scope: '@deepnote'
3538

3639
- name: Install dependencies
3740
run: npm ci --prefer-offline --no-audit
41+
env:
42+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3843

3944
- name: Run ESLint
4045
run: npm run lint
4146

4247
- name: Check Prettier formatting
4348
run: npm run format
4449

50+
typecheck:
51+
name: TypeCheck
52+
runs-on: ubuntu-latest
53+
timeout-minutes: 15
54+
steps:
55+
- name: Checkout
56+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
57+
58+
- name: Setup Node.js
59+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
60+
with:
61+
cache: 'npm'
62+
node-version: ${{ env.NODE_VERSION }}
63+
registry-url: 'https://npm.pkg.github.com'
64+
scope: '@deepnote'
65+
66+
- name: Install dependencies
67+
run: npm ci --prefer-offline --no-audit
68+
env:
69+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70+
71+
- name: Run TypeScript type checking
72+
run: npm run typecheck
73+
74+
qlty:
75+
name: Qlty Check
76+
runs-on: ubuntu-latest
77+
timeout-minutes: 3
78+
79+
steps:
80+
- name: Checkout code
81+
uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
82+
83+
- name: Install qlty
84+
uses: qltysh/qlty-action/install@a19242102d17e497f437d7466aa01b528537e899
85+
86+
- name: Run qlty check
87+
run: qlty check
88+
89+
- name: Run qlty code smells analysis
90+
run: qlty smells
91+
4592
build:
4693
name: Build & Test
4794
runs-on: ubuntu-latest
4895
timeout-minutes: 15
96+
permissions:
97+
id-token: write
98+
contents: read
99+
packages: read
49100
steps:
50101
- name: Checkout
51-
uses: actions/checkout@v5
102+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
52103

53104
- name: Setup Node.js
54-
uses: actions/setup-node@v5
105+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
55106
with:
56-
node-version: ${{ env.NODE_VERSION }}
57107
cache: 'npm'
108+
node-version: ${{ env.NODE_VERSION }}
109+
registry-url: 'https://npm.pkg.github.com'
110+
scope: '@deepnote'
58111

59112
- name: Install dependencies
60113
run: npm ci --prefer-offline --no-audit
114+
env:
115+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61116

62117
- name: Compile TypeScript
63118
run: npm run compile
64119

65120
- name: Run tests
66121
run: npm test
122+
env:
123+
VSC_JUPYTER_INSTRUMENT_CODE_FOR_COVERAGE: true
124+
125+
- name: Upload coverage to Codecov
126+
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5
127+
with:
128+
use_oidc: true
129+
files: coverage/lcov.info
130+
fail_ci_if_error: true
131+
132+
- name: Upload test results to Codecov
133+
if: '!cancelled()'
134+
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1
135+
with:
136+
use_oidc: true
137+
files: test-results.xml
138+
fail_ci_if_error: true
67139

68140
- name: Check dependencies
69141
run: npm run checkDependencies
70142
continue-on-error: true
71143

72144
- name: Check licenses
73145
run: npm run check-licenses
146+
74147
check_licenses:
75148
name: Check Licenses
76149
runs-on: ubuntu-latest
77150
steps:
78151
- name: Checkout
79-
uses: actions/checkout@v5
152+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
80153

81154
- name: Setup Node.js
82-
uses: actions/setup-node@v5
155+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
83156
with:
84-
node-version: ${{ env.NODE_VERSION }}
85157
cache: 'npm'
158+
node-version: ${{ env.NODE_VERSION }}
159+
registry-url: 'https://npm.pkg.github.com'
160+
scope: '@deepnote'
86161

87162
- name: Install dependencies
88163
run: npm ci
164+
env:
165+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
89166

90167
- name: Check Licenses
91168
run: npm run check-licenses
169+
170+
audit-prod:
171+
name: Audit - Production
172+
runs-on: ubuntu-latest
173+
timeout-minutes: 15
174+
steps:
175+
- name: Checkout
176+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
177+
178+
- name: Setup Node.js
179+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
180+
with:
181+
cache: 'npm'
182+
node-version: ${{ env.NODE_VERSION }}
183+
registry-url: 'https://npm.pkg.github.com'
184+
scope: '@deepnote'
185+
186+
- name: Install dependencies
187+
run: npm ci --prefer-offline --no-audit
188+
env:
189+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
190+
191+
- name: Run audit for production dependencies
192+
run: npm audit --production
193+
194+
audit-all:
195+
name: Audit - All
196+
runs-on: ubuntu-latest
197+
timeout-minutes: 15
198+
steps:
199+
- name: Checkout
200+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
201+
202+
- name: Setup Node.js
203+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
204+
with:
205+
cache: 'npm'
206+
node-version: ${{ env.NODE_VERSION }}
207+
registry-url: 'https://npm.pkg.github.com'
208+
scope: '@deepnote'
209+
210+
- name: Install dependencies
211+
run: npm ci --prefer-offline --no-audit
212+
env:
213+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
214+
215+
- name: Run audit for all dependencies
216+
run: npm audit

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

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,26 +31,29 @@ jobs:
3131
permissions:
3232
# If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission. If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
3333
contents: read
34+
packages: read
3435

3536
# You can define any steps you want, and they will run before the agent starts.
3637
# If you do not check out your code, Copilot will do this for you.
3738
steps:
3839
- name: Checkout code
39-
uses: actions/checkout@v5
40+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
4041

4142
- name: Use Node ${{env.NODE_VERSION}}
42-
uses: actions/setup-node@v5
43+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
4344
with:
4445
node-version: ${{env.NODE_VERSION}}
46+
registry-url: 'https://npm.pkg.github.com'
47+
scope: '@deepnote'
4548

4649
- name: Cache npm files
47-
uses: actions/cache@v4
50+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
4851
with:
4952
path: ~/.npm
5053
key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}}
5154

5255
- name: Cache the out/ directory
53-
uses: actions/cache@v4
56+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
5457
with:
5558
path: ./out
5659
key: ${{runner.os}}-${{env.CACHE_OUT_DIRECTORY}}-${{hashFiles('src/**')}}
@@ -59,6 +62,8 @@ jobs:
5962
# Let that happen in other jobs, this job needs to be fast
6063
- name: npm ci
6164
run: npm ci --ignore-scripts --prefer-offline --no-audit
65+
env:
66+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6267

6368
- name: npm run postinstall
6469
run: npm run postinstall
@@ -74,7 +79,7 @@ jobs:
7479
continue-on-error: true
7580

7681
- name: Install uv
77-
uses: astral-sh/setup-uv@v6
82+
uses: astral-sh/setup-uv@3259c6206f993105e3a61b142c2d97bf4b9ef83d # v7
7883

7984
- name: Setup Venv
8085
run: |

.github/workflows/deps.yml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ env:
1010
NODE_VERSION: 22.x
1111

1212
permissions:
13-
contents: read
1413
actions: read
14+
contents: read
15+
packages: read
1516

1617
concurrency:
1718
group: ${{ github.workflow }}-${{ github.ref }}
@@ -23,23 +24,27 @@ jobs:
2324
runs-on: ubuntu-latest
2425
steps:
2526
- name: Checkout
26-
uses: actions/checkout@v5
27+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
2728

2829
- name: Setup Node.js
29-
uses: actions/setup-node@v5
30+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
3031
with:
31-
node-version: ${{ env.NODE_VERSION }}
3232
cache: 'npm'
33+
node-version: ${{ env.NODE_VERSION }}
34+
registry-url: 'https://npm.pkg.github.com'
35+
scope: '@deepnote'
3336

3437
- name: Install dependencies
3538
run: npm ci --prefer-offline --no-audit
39+
env:
40+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3641

3742
- name: Run security audit
3843
run: npm audit --json > audit-report.json || true
3944

4045
- name: Upload audit report
4146
if: always()
42-
uses: actions/upload-artifact@v4
47+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
4348
with:
4449
name: npm-audit-report
4550
path: audit-report.json
@@ -52,10 +57,10 @@ jobs:
5257
runs-on: ubuntu-latest
5358
steps:
5459
- name: Checkout
55-
uses: actions/checkout@v5
60+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
5661

5762
- name: Setup Node.js
58-
uses: actions/setup-node@v5
63+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
5964
with:
6065
node-version: ${{ env.NODE_VERSION }}
6166
cache: 'npm'

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,9 @@ src/webviews/webview-side/interactive-common/variableExplorerGrid.css
6666
src/webviews/webview-side/interactive-common/variableExplorerGrid.css.map
6767
src/webviews/webview-side/react-common/seti/seti.css
6868
src/webviews/webview-side/react-common/seti/seti.css.map
69+
# Qlty cache directories
70+
.qlty/cache
71+
.qlty/logs
72+
.qlty/out
73+
.qlty/plugin_cachedir
74+
.qlty/results

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@deepnote:registry=https://npm.pkg.github.com

0 commit comments

Comments
 (0)