Skip to content

fix: jupyterlab

fix: jupyterlab #369

Workflow file for this run

name: TS Type Checking
on:
push:
branches: [ main, develop ]
paths:
- 'src/**/*.ts'
- 'src/**/*.tsx'
- 'tsconfig*.json'
- 'package.json'
- '.github/workflows/ts-typing.yml'
- '.github/workflows/reusable-typescript.yml'
pull_request:
branches: [ main, develop ]
paths:
- 'src/**/*.ts'
- 'src/**/*.tsx'
- 'tsconfig*.json'
- 'package.json'
- '.github/workflows/ts-typing.yml'
- '.github/workflows/reusable-typescript.yml'
jobs:
type-check:
uses: ./.github/workflows/reusable-typescript.yml
with:
node-version: '22'
install-command: 'npm install --workspaces'
build-command: 'npm run build'
run-format-check: false
run-lint: false
run-type-check: true
run-tests: false
secrets:
TEST_DATALAYER_API_KEY: ${{ secrets.TEST_DATALAYER_API_KEY }}
strict-mode-check:
runs-on: ubuntu-latest
needs: type-check
steps:
- uses: actions/checkout@v6
- name: Use Node.js 22
uses: actions/setup-node@v6
with:
node-version: '22'
- name: Install dependencies
run: |
set -euo pipefail
npm config set fetch-retries 5
npm config set fetch-retry-factor 2
npm config set fetch-retry-mintimeout 20000
npm config set fetch-retry-maxtimeout 120000
npm config set prefer-online true
for attempt in 1 2 3; do
echo "Install attempt ${attempt}/3: npm install --workspaces"
if npm install --workspaces; then
exit 0
fi
if [[ "$attempt" -lt 3 ]]; then
sleep_seconds=$((attempt * 20))
echo "Install failed; retrying in ${sleep_seconds}s..."
sleep "$sleep_seconds"
fi
done
echo "Dependency installation failed after 3 attempts"
exit 1
- name: Build project
run: npm run build
env:
TEST_DATALAYER_API_KEY: ${{ secrets.TEST_DATALAYER_API_KEY }}
DATALAYER_TEST_RUN_EXPENSIVE: ${{ secrets.TEST_DATALAYER_API_KEY != '' && 'true' || 'false' }}
- name: Check TypeScript strict mode compliance
run: npx tsc --noEmit --strict
continue-on-error: true
- name: Generate type coverage report
run: npx type-coverage --detail
continue-on-error: true