4747 - name : Check Prettier formatting
4848 run : npm run format
4949
50+ typecheck :
51+ name : TypeCheck
52+ runs-on : ubuntu-latest
53+ timeout-minutes : 15
54+ steps :
55+ - name : Checkout
56+ uses : actions/checkout@v5
57+
58+ - name : Setup Node.js
59+ uses : actions/setup-node@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@08c6903cd8c0fde910a37f88322edcfb5dd907a8
82+
83+ - name : Install qlty
84+ uses : qltysh/qlty-action/install@06730ef41b86b073c3813c0fc07a0c734980ce5d
85+
86+ - name : Run qlty check
87+ run : qlty check
88+
89+ - name : Run qlty code smells analysis
90+ run : qlty smells
91+
5092 build :
5193 name : Build & Test
5294 runs-on : ubuntu-latest
@@ -73,6 +115,23 @@ jobs:
73115
74116 - name : Run tests
75117 run : npm test
118+ env :
119+ VSC_JUPYTER_INSTRUMENT_CODE_FOR_COVERAGE : true
120+
121+ - name : Upload coverage to Codecov
122+ uses : codecov/codecov-action@v5
123+ with :
124+ token : ${{ secrets.CODECOV_TOKEN }}
125+ files : coverage/lcov.info
126+ fail_ci_if_error : true
127+
128+ - name : Upload test results to Codecov
129+ if : ' !cancelled()'
130+ uses : codecov/test-results-action@v1
131+ with :
132+ token : ${{ secrets.CODECOV_TOKEN }}
133+ files : test-report.xml
134+ fail_ci_if_error : true
76135
77136 - name : Check dependencies
78137 run : npm run checkDependencies
@@ -103,3 +162,51 @@ jobs:
103162
104163 - name : Check Licenses
105164 run : npm run check-licenses
165+
166+ audit-prod :
167+ name : Audit - Production
168+ runs-on : ubuntu-latest
169+ timeout-minutes : 15
170+ steps :
171+ - name : Checkout
172+ uses : actions/checkout@v5
173+
174+ - name : Setup Node.js
175+ uses : actions/setup-node@v5
176+ with :
177+ cache : ' npm'
178+ node-version : ${{ env.NODE_VERSION }}
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 audit for production dependencies
188+ run : npm audit --production
189+
190+ audit-all :
191+ name : Audit - All
192+ runs-on : ubuntu-latest
193+ timeout-minutes : 15
194+ steps :
195+ - name : Checkout
196+ uses : actions/checkout@v5
197+
198+ - name : Setup Node.js
199+ uses : actions/setup-node@v5
200+ with :
201+ cache : ' npm'
202+ node-version : ${{ env.NODE_VERSION }}
203+ registry-url : ' https://npm.pkg.github.com'
204+ scope : ' @deepnote'
205+
206+ - name : Install dependencies
207+ run : npm ci --prefer-offline --no-audit
208+ env :
209+ NODE_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
210+
211+ - name : Run audit for all dependencies
212+ run : npm audit
0 commit comments