Repository navigation
Move to Haybarn 2.0 rc9 clients #274
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
| # Copyright 2026 Query Farm LLC - https://query.farm | |
| # | |
| # Run the canonical VGI suite against the Java worker using a native runner | |
| # built from the same pinned VGI revision. Local standalone-runner checks still | |
| # support the signed community extension through ci/run-integration.sh. | |
| name: Integration suite | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| actions: read | |
| concurrency: | |
| group: integration-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| # Match the test suite to the native runner built from this exact revision. | |
| VGI_REF: 7b1e1fbbe745d77fdacf52d6d135fa3ef4491d48 | |
| VGI_NATIVE_RUNNER_BRANCH: release/vgi-v3-ci-20261028 | |
| # Disable local sibling substitution: validate the released Maven dependency. | |
| VGI_RPC_JAVA_DIR: /nonexistent | |
| jobs: | |
| build-worker: | |
| name: Build worker once | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout vgi-java | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: '25' | |
| - name: Cache Gradle | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.gradle/caches | |
| ~/.gradle/wrapper | |
| key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | |
| restore-keys: gradle-${{ runner.os }}- | |
| - name: Build example worker | |
| run: ./gradlew --no-daemon :vgi-example-worker:installDist | |
| # Archive before upload because upload-artifact does not preserve the | |
| # executable bit on the generated launcher script. | |
| - name: Package worker | |
| run: tar -czf vgi-java-worker.tar.gz vgi-example-worker/build/install/vgi-example-worker | |
| - name: Upload worker | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: vgi-java-worker-${{ github.sha }} | |
| path: vgi-java-worker.tar.gz | |
| if-no-files-found: error | |
| retention-days: 1 | |
| integration: | |
| needs: build-worker | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # launch: the AF_UNIX worker pool. shm: same, plus the POSIX | |
| # shared-memory side channel (VGI_RPC_SHM_SIZE_BYTES). http: the whole | |
| # suite over the stateless HTTP transport (state-token continuations), | |
| # mirroring vgi's `make test_http`. | |
| - { lane: launch } | |
| - { lane: shm, shm_bytes: '67108864' } | |
| - { lane: http, transport: http } | |
| name: integration (${{ matrix.lane }}) | |
| steps: | |
| - name: Checkout vgi-java | |
| uses: actions/checkout@v4 | |
| - name: Checkout current vgi test suite | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: Query-farm/vgi | |
| ref: ${{ env.VGI_REF }} | |
| path: vgi-upstream | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: '25' | |
| - name: Download worker | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: vgi-java-worker-${{ github.sha }} | |
| - name: Extract worker | |
| run: tar -xzf vgi-java-worker.tar.gz | |
| - name: Fetch matching native integration runner | |
| run: >- | |
| python3 "$VGI_SRC/scripts/ci_fetch_native_runner.py" | |
| --source "$VGI_SRC" --output "$RUNNER_TEMP/vgi-native" | |
| env: | |
| VGI_SRC: ${{ github.workspace }}/vgi-upstream | |
| GH_TOKEN: ${{ github.token }} | |
| - name: Run integration suite (${{ matrix.lane }}) | |
| run: ci/run-integration.sh | |
| env: | |
| VGI_SRC: ${{ github.workspace }}/vgi-upstream | |
| VGI_WORKER_BIN: ${{ github.workspace }}/vgi-example-worker/build/install/vgi-example-worker/bin/vgi-example-worker | |
| # Empty for the launch lane; run-integration.sh drops an empty value. | |
| VGI_RPC_SHM_SIZE_BYTES: ${{ matrix.shm_bytes || '' }} | |
| # launch (default) unless the lane selects the http transport. | |
| TRANSPORT: ${{ matrix.transport || 'launch' }} | |
| # JDK 25 + native access for the worker JVM (FFM shm, haybarn_jdbc). | |
| JAVA_TOOL_OPTIONS: --enable-native-access=ALL-UNNAMED |