Skip to content

Release 2.0.0

Release 2.0.0 #1

# 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