ci: actually run the unit tests #1
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 | |
| # | |
| # Unit tests and a javadoc build for the SDK itself. The Integration suite | |
| # workflow covers the protocol end-to-end against a real DuckDB, but it only | |
| # ever compiles the example worker -- vgi/src/test carried 278 JUnit tests that | |
| # nothing in CI ran. This workflow is that gate. | |
| # | |
| # vgi-rpc-java is built from source here for the same reason integration.yml | |
| # does it (see the pin's comment there); keep VGI_RPC_JAVA_REF in step with it. | |
| name: CI | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| VGI_RPC_JAVA_REF: v0.21.1 | |
| jobs: | |
| test: | |
| name: Unit tests (JDK 25) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout vgi-java | |
| uses: actions/checkout@v4 | |
| - name: Checkout pinned vgi-rpc-java | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: Query-farm/vgi-rpc-java | |
| ref: ${{ env.VGI_RPC_JAVA_REF }} | |
| path: vgi-rpc-java | |
| - 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: Unit tests | |
| run: ./gradlew --no-daemon :vgi:test | |
| env: | |
| VGI_RPC_JAVA_DIR: ${{ github.workspace }}/vgi-rpc-java | |
| # The published artifact carries javadoc, so a doc comment that does not | |
| # build is a broken release, not a warning. | |
| - name: Javadoc | |
| run: ./gradlew --no-daemon :vgi:javadoc | |
| env: | |
| VGI_RPC_JAVA_DIR: ${{ github.workspace }}/vgi-rpc-java | |
| - name: Upload test report on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-results | |
| path: vgi/build/reports/tests/test |