build(deps): bump the npm_and_yarn group across 3 directories with 2 updates #415
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |