Schema Compatibility Check — ParadeDB v0.24.2 #3
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@v7 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.13" | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v7 | |
| - 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: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Restore | |
| run: dotnet restore build.slnf | |
| - name: Build | |
| run: dotnet build build.slnf --configuration Release --framework net10.0 --no-restore | |
| - name: Test | |
| run: | | |
| dotnet test \ | |
| --no-build \ | |
| --configuration Release \ | |
| --framework net10.0 \ | |
| --results-directory TestResults/net10.0 \ | |
| --coverlet \ | |
| --coverlet-output-format cobertura | |
| 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 tests failed against ParadeDB **v${{ env.PARADEDB_VERSION }}**. | |
| **Workflow run:** ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
| Please investigate and update efcore-paradedb as needed. | |
| EOF | |
| )" \ | |
| --label bug |