Skip to content

build(deps): bump the production-dependencies group across 1 directory with 4 updates #373

build(deps): bump the production-dependencies group across 1 directory with 4 updates

build(deps): bump the production-dependencies group across 1 directory with 4 updates #373

Workflow file for this run

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