name: CI

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  xanoscript-vscode:
    runs-on: ubuntu-latest
    permissions:
      contents: read

    steps:
      - uses: actions/checkout@v4
        with:
          submodules: recursive
          token: ${{ secrets.SUBMODULE_TOKEN }}

      - name: Use Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: "npm"

      - name: Install extension dependencies
        run: npm install

      - name: Lint extension
        run: |
          npm run lint

      - name: Install xvfb
        run: sudo apt-get update && sudo apt-get install -y xvfb

      - name: Test extension
        run: |
          npm install
          xvfb-run --auto-servernum npm test
