Skip to content

fix(vba): reject reserved words as SQL tables #453

fix(vba): reject reserved words as SQL tables

fix(vba): reject reserved words as SQL tables #453

Workflow file for this run

name: CI
# Two legs, one gate:
# • Linux runs the FULL suite — this is how upstream validates. Upstream's
# language tests (arkts/cfml/nix/erlang/…) create and `unlink` SQLite DBs,
# which is fine on Linux but hits Windows `EBUSY: resource busy or locked`
# (you can't delete a .db whose handle is still open) plus file-handle
# exhaustion when the whole suite runs in one process. Linux is the
# comprehensive correctness gate.
# • Windows runs only the VBA/Access surface — the reason this fork exists.
# Those paths MUST pass on the real target OS, and they don't trip the
# Linux-assuming DB-teardown behavior above.
on:
pull_request:
branches: [main]
push:
branches:
- main
- 'feat/**'
- 'fix/**'
- 'chore/**'
- 'release/**'
- 'docs/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test-linux:
name: full suite (Node ${{ matrix.node-version }}, ubuntu-latest)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# engines: >=22.5.0 <25.0.0 (built-in node:sqlite needs 22.5+).
node-version: [22]
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node ${{ matrix.node-version }}
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
- name: Install pnpm
run: npm install -g pnpm@10.16.1
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build (tsc + copy assets)
run: pnpm run build
- name: Run full vitest suite
# Raise the fd limit: the single-worker run opens many SQLite handles
# across the full suite; default soft limits can trip "too many open files".
run: ulimit -n 65536 2>/dev/null || true; pnpm test
test-windows-vba:
name: VBA/Access suite (Node ${{ matrix.node-version }}, windows-latest)
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
node-version: [22]
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node ${{ matrix.node-version }}
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
- name: Install pnpm
run: npm install -g pnpm@10.16.1
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build (tsc + copy assets)
run: pnpm run build
- name: VBA + Access/SQL extraction suites (the fork's delta)
# vitest positional args filter test files by path substring.
run: pnpm exec vitest run vba extraction-sql-query sql-query-discovery