name: Test on: push: branches: [main] pull_request: branches: [main] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: lint: runs-on: macos-latest steps: - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 - uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3 with: node-version: ${{ matrix.node-version }} cache: pnpm - run: pnpm install --filter="vitest-vscode-*" --frozen-lockfile - run: pnpm build - run: pnpm typecheck - run: pnpm fmt test: runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, windows-latest] node-version: [22.x] steps: - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 - uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3 with: node-version: ${{ matrix.node-version }} cache: pnpm - uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2 with: deno-version: v2.x - run: pnpm install --frozen-lockfile - run: pnpm exec playwright install chromium - run: pnpm build - name: test run: pnpm test - name: test-e2e run: pnpm test-e2e - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 if: always() with: name: 'test-results-${{ matrix.os }}' path: test-results test-legacy: runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, windows-latest] node-version: [22.x] steps: - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 - uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3 with: node-version: ${{ matrix.node-version }} cache: pnpm - uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2 with: deno-version: v2.x - name: vitest 3.2 run: node ./scripts/lower-vitest-version.js - run: pnpm install --prefer-offline --no-frozen-lockfile - run: pnpm build - name: test run: pnpm test - name: test-e2e run: pnpm test-e2e:legacy - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 if: always() with: name: 'test-results-legacy-${{ matrix.os }}' path: test-results