fix(vba): reject reserved words as SQL tables #453
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |