build(deps-dev): bump the dev-dependencies group across 1 directory with 11 updates #386
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint-workflows: | |
| name: Lint Workflows | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: raven-actions/actionlint@v2 | |
| with: | |
| flags: "-ignore SC2015 -ignore SC2086 -ignore string.should.not.be.empty" | |
| lint: | |
| name: Lint & Format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| - name: Lint | |
| run: npm run lint | |
| - name: Format check | |
| run: npm run format:check | |
| typecheck: | |
| name: Typecheck | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm run typecheck | |
| typecheck-extension: | |
| name: Typecheck Extension | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: | | |
| package-lock.json | |
| vscode-extension/package-lock.json | |
| - run: npm ci | |
| - run: npm ci | |
| working-directory: vscode-extension | |
| - run: npx tsc --noEmit | |
| working-directory: vscode-extension | |
| lint-extension: | |
| name: Lint Extension | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: | | |
| package-lock.json | |
| vscode-extension/package-lock.json | |
| - run: npm ci | |
| - run: npm ci | |
| working-directory: vscode-extension | |
| - run: npx eslint . | |
| working-directory: vscode-extension | |
| test: | |
| name: Test (Node ${{ matrix.node }}, ${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node: [22] | |
| os: [ubuntu-latest] | |
| include: | |
| - node: 22 | |
| os: windows-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: npm | |
| - run: npm ci | |
| - name: Test | |
| run: npm run test:coverage | |
| - name: Upload coverage | |
| if: matrix.node == 22 && matrix.os == 'ubuntu-latest' | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: coverage | |
| path: coverage | |
| if-no-files-found: ignore | |
| build: | |
| name: Build & Verify | |
| runs-on: ubuntu-latest | |
| needs: [lint, typecheck, typecheck-extension, test, lint-workflows, lint-extension] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: | | |
| package-lock.json | |
| vscode-extension/package-lock.json | |
| - run: npm ci | |
| - run: npm run build | |
| - name: Verify CLI | |
| run: | | |
| CLI_VERSION=$(node dist/index.js --version) | |
| PKG_VERSION=$(node -e "console.log(require('./package.json').version)") | |
| if [ "$CLI_VERSION" != "$PKG_VERSION" ]; then | |
| echo "::error::CLI version ($CLI_VERSION) does not match package.json ($PKG_VERSION)" | |
| exit 1 | |
| fi | |
| echo "CLI version: $CLI_VERSION ✓" | |
| - name: Build extension | |
| run: npm ci && node esbuild.mjs | |
| working-directory: vscode-extension |