Repository navigation
Release 2.0.0 #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 (c) 2026 Ievgenii Gryshkun (angeo.dev) — MIT License | |
| # | |
| # Validates profiles generated by the REAL module code against the OFFICIAL | |
| # UCP JSON Schemas at the pinned spec tag. Catches spec drift automatically: | |
| # when the module is updated (or the pinned tag is bumped to a new spec | |
| # release), any schema-invalid output fails the build. | |
| name: UCP schema validation | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| schedule: | |
| # Weekly: also catches upstream re-tagging or tooling regressions. | |
| - cron: "0 6 * * 1" | |
| env: | |
| # Bump this when adopting a new UCP spec release. | |
| UCP_SPEC_TAG: v2026-08-25 | |
| jobs: | |
| schema-validation: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout module | |
| uses: actions/checkout@v4 | |
| - name: Checkout UCP spec (pinned tag) | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: Universal-Commerce-Protocol/ucp | |
| ref: ${{ env.UCP_SPEC_TAG }} | |
| path: ucp-spec | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: "8.3" | |
| - name: Generate fixture profiles through module code | |
| run: php dev/schema-validation/generate_fixtures.php fixtures-out | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install validator dependencies | |
| run: pip install jsonschema referencing | |
| - name: Validate fixtures against official schemas | |
| run: python dev/schema-validation/validate.py ucp-spec/source fixtures-out |