Skip to content

Codebase cleanup: strict ESLint, CLI refactoring, versioned installer #22

Codebase cleanup: strict ESLint, CLI refactoring, versioned installer

Codebase cleanup: strict ESLint, CLI refactoring, versioned installer #22

Workflow file for this run

name: PR Checks
on:
pull_request:
branches: [main]
jobs:
lint-and-test-ts:
name: TypeScript Lint & Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: src/Nap.VsCode
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: actions/setup-dotnet@v4
with:
dotnet-version: "10.0.x"
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Build CLI, compile extension & tests
run: npm run pretest
- name: Unit tests with coverage
run: npm run test:unit
- name: E2E tests
run: xvfb-run --auto-servernum npm test
- name: Upload TypeScript coverage
if: always()
uses: actions/upload-artifact@v4
with:
name: typescript-coverage
path: coverage/typescript/report/
test-fsharp:
name: F# Build & Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
dotnet-version: "10.0.x"
- name: Install ReportGenerator
run: dotnet tool install --global dotnet-reportgenerator-globaltool
- name: Install dotnet-script
run: dotnet tool install -g dotnet-script
- name: Build
run: dotnet build --nologo
- name: Test with coverage
run: bash scripts/test-fsharp.sh
- name: Upload F# coverage
if: always()
uses: actions/upload-artifact@v4
with:
name: fsharp-coverage
path: coverage/fsharp/report/
build-website:
name: Website Build
runs-on: ubuntu-latest
defaults:
run:
working-directory: website
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Install dependencies
run: npm ci
- name: Build
run: npx eleventy