Schema Compatibility Check — ParadeDB v0.24.0 #2
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
| # workflows/schema-compat.yml | |
| # | |
| # Schema Compatibility Check | |
| # Validates that the paradedb API wrapper stays in sync with the | |
| # ParadeDB SQL schema and that integration tests pass against the new version. | |
| # Triggered automatically on each paradedb release (via repository_dispatch) | |
| # or manually via workflow_dispatch. | |
| name: Schema Compatibility Check | |
| run-name: "Schema Compatibility Check — ParadeDB v${{ inputs.version || github.event.client_payload.version }}" | |
| on: | |
| repository_dispatch: | |
| types: [paradedb-release] | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: "ParadeDB version to check against" | |
| required: true | |
| concurrency: | |
| group: schema-compat-${{ github.head_ref || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| PARADEDB_VERSION: ${{ inputs.version || github.event.client_payload.version }} | |
| jobs: | |
| schema-compat: | |
| name: Check Schema Compatibility | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.13" | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| - name: Run Schema Compatibility Check | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: uv run --with json5 scripts/check_schema_compat.py ${{ env.PARADEDB_VERSION }} | |
| tests: | |
| name: Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v6 | |
| - name: Set up pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22.12.0 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Set up test database | |
| run: pnpm db:setup | |
| - name: Run tests | |
| run: pnpm test | |
| - name: Run examples | |
| run: pnpm examples | |
| notify: | |
| name: Notify on Failure | |
| runs-on: ubuntu-latest | |
| needs: [schema-compat, tests] | |
| if: failure() | |
| steps: | |
| - name: Create GitHub Issue | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| gh issue create \ | |
| --repo ${{ github.repository }} \ | |
| --title "Schema compat failure for ParadeDB v${{ env.PARADEDB_VERSION }}" \ | |
| --body "$(cat <<EOF | |
| The schema compatibility check or integration tests failed against ParadeDB **v${{ env.PARADEDB_VERSION }}**. | |
| **Workflow run:** ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
| Please investigate and update drizzle-paradedb as needed. | |
| EOF | |
| )" \ | |
| --label bug |