Add zero-column exchange support and bump to 0.3.1 #33
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 | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install && bun run postinstall | |
| - name: Run unit tests | |
| run: bun test test/wire.test.ts test/describe.test.ts test/schema.test.ts test/output-collector.test.ts | |
| - name: Run client tests (bun transports only) | |
| run: timeout 120 bun test test/client.test.ts | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install && bun run postinstall | |
| - name: Build | |
| run: bun run build | |
| - name: Verify dist outputs exist | |
| run: | | |
| test -f dist/index.js | |
| test -f dist/index.d.ts | |
| runtime-smoke-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| - uses: denoland/setup-deno@v2 | |
| with: | |
| deno-version: latest | |
| - name: Install dependencies | |
| run: bun install && bun run postinstall | |
| - name: Build | |
| run: bun run build | |
| - name: Smoke test (Bun) | |
| run: timeout 60 bun run ./test/smoke-import.ts | |
| - name: Bundle smoke test for Node.js / Deno | |
| run: mkdir -p .smoke-bundle && bun build ./test/smoke-import.ts --outfile .smoke-bundle/smoke.js --target node --format esm | |
| - name: Smoke test (Node.js) | |
| run: timeout 60 node .smoke-bundle/smoke.js | |
| - name: Smoke test (Deno) | |
| run: timeout 60 deno run --allow-all .smoke-bundle/smoke.js | |
| conformance: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| - uses: denoland/setup-deno@v2 | |
| with: | |
| deno-version: latest | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.13" | |
| - name: Install JS dependencies | |
| run: bun install && bun run postinstall | |
| - name: Clone Python vgi-rpc | |
| run: git clone https://github.com/Query-farm/vgi-rpc-python.git /tmp/vgi-rpc | |
| - name: Install Python dependencies | |
| run: pip install -e "/tmp/vgi-rpc[http]" pytest | |
| - name: Run conformance tests | |
| env: | |
| VGI_RPC_PYTHON_PATH: /tmp/vgi-rpc | |
| run: timeout 120 python -m pytest test_ts_conformance.py -x -v | |
| - name: Run client tests (all transports) | |
| env: | |
| VGI_RPC_PYTHON_PATH: /tmp/vgi-rpc | |
| VGI_RPC_PYTHON_BIN: python3 | |
| run: timeout 120 bun test test/client.test.ts |