Skip to content

vgi-client: build StreamTransport::new_owned only with the iroh feature #199

vgi-client: build StreamTransport::new_owned only with the iroh feature

vgi-client: build StreamTransport::new_owned only with the iroh feature #199

Workflow file for this run

# 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 }}