Skip to content

chore(deps): update actions/upload-artifact action to v5 #1845

chore(deps): update actions/upload-artifact action to v5

chore(deps): update actions/upload-artifact action to v5 #1845

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
permissions:
actions: read
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint & Format
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
cache: 'npm'
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci --prefer-offline --no-audit
- name: Run ESLint
run: npm run lint
- name: Check Prettier formatting
run: npm run format
typecheck:
name: TypeCheck
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
cache: 'npm'
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci --prefer-offline --no-audit
- name: Run TypeScript type checking
run: npm run typecheck
qlty:
name: Qlty Check
runs-on: ubuntu-latest
timeout-minutes: 3
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
with:
fetch-depth: 0
- name: Install qlty
uses: qltysh/qlty-action/install@92420f3093ba65970fed22ce5f162ecb8a5c1700
- name: Run qlty check
run: qlty check
- name: Run qlty code smells analysis
run: qlty smells
build:
name: Build & Test
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
id-token: write
contents: read
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
cache: 'npm'
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci --prefer-offline --no-audit
- name: Compile TypeScript
run: npm run compile
- name: Run tests
run: npm test
env:
VSC_JUPYTER_INSTRUMENT_CODE_FOR_COVERAGE: true
- name: Upload coverage to Codecov
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5
with:
use_oidc: true
files: coverage/lcov.info
fail_ci_if_error: true
- name: Upload test results to Codecov
if: '!cancelled()'
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1
with:
use_oidc: true
files: test-results.xml
fail_ci_if_error: true
- name: Check dependencies
run: npm run checkDependencies
continue-on-error: true
- name: Check licenses
run: npm run check-licenses
check_licenses:
name: Check Licenses
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
cache: 'npm'
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci
- name: Check Licenses
run: npm run check-licenses
spell-check:
name: Spell Check
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
cache: 'npm'
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci --prefer-offline --no-audit
- name: Run spell check
run: npm run spell-check
package-lock-drift-check:
name: Package Lock Drift Check
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
cache: 'npm'
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm install
- name: Check package lock drift
run: |
git diff --exit-code HEAD
audit-prod:
name: Audit - Production
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
cache: 'npm'
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci --prefer-offline --no-audit
- name: Run audit for production dependencies
run: npm audit --production
audit-all:
name: Audit - All
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
cache: 'npm'
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci --prefer-offline --no-audit
- name: Run audit for all dependencies
run: npm audit