Repository navigation
vgi-client: build StreamTransport::new_owned only with the iroh feature #199
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
| # Copyright 2025, 2026 Query Farm LLC - https://query.farm | |
| # | |
| # Runs the canonical Query-farm/vgi integration sqllogictest suite against the | |
| # Rust example worker across all three transports (subprocess / launcher / http). | |
| # The framework builds only its Rust worker. The standalone runner installs the | |
| # signed VGI extension from the Haybarn community channel, as end users do. | |
| # See ci/README.md. | |
| name: Integration suite | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: integration-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| # Track the shared implementation directly. There is deliberately no commit | |
| # pin or fallback: CI should expose any lag in the published artifact. | |
| VGI_REF: main | |
| jobs: | |
| integration: | |
| name: Linux / ${{ matrix.transport }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| strategy: | |
| # All three public transports execute the current suite + community extension. | |
| fail-fast: true | |
| matrix: | |
| transport: [stdio, launch, http] | |
| steps: | |
| - name: Checkout vgi-rust | |
| uses: actions/checkout@v5 | |
| - name: Checkout current vgi test suite | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: Query-farm/vgi | |
| ref: ${{ env.VGI_REF }} | |
| path: vgi-upstream | |
| - name: Install Rust toolchain (MSRV 1.97) | |
| uses: dtolnay/rust-toolchain@1.97.0 | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Build example worker | |
| run: cargo build --release -p vgi-example-worker | |
| - name: Resolve latest haybarn release | |
| shell: bash | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| release="$(gh release view --repo Query-farm-haybarn/haybarn --json tagName --jq .tagName)" | |
| echo "HAYBARN_RELEASE=$release" >> "$GITHUB_ENV" | |
| - name: Download + extract haybarn-unittest | |
| shell: bash | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| gh release download "$HAYBARN_RELEASE" --repo Query-farm-haybarn/haybarn \ | |
| --pattern 'haybarn_unittest-linux-amd64.zip' --output hb.zip --clobber | |
| python3 -c "import zipfile; zipfile.ZipFile('hb.zip').extractall('hb')" | |
| ut="$(find hb -type f -name 'haybarn-unittest' | head -1)" | |
| chmod +x "$ut" | |
| echo "HAYBARN_UNITTEST=$(cd "$(dirname "$ut")" && pwd)/$(basename "$ut")" >> "$GITHUB_ENV" | |
| - name: Run integration suite (${{ matrix.transport }}) | |
| shell: bash | |
| run: ci/run-integration.sh | |
| env: | |
| VGI_SRC: ${{ github.workspace }}/vgi-upstream | |
| VGI_WORKER_BIN: ${{ github.workspace }}/target/release/vgi-example-worker | |
| TRANSPORT: ${{ matrix.transport }} |