Skip to content

chore(schema): update #1510

chore(schema): update

chore(schema): update #1510

name: Check compatibility
on:
pull_request:
merge_group:
types: [checks_requested]
jobs:
check-compatibility:
runs-on: ubuntu-latest
steps:
- name: Checkout the PR
uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Extract PR public interfaces
run: |
make init
bin/public_interface.py extract > "${{ runner.temp }}"/interfaces.new.json
- name: Backup PR bin/public_interface.py
run: |
# Keep a copy of bin/public_interface.py
# So we are using the same bin/public_interface.py to process old/new codebase.
cp bin/public_interface.py "${{ runner.temp }}"/public_interface.py
- name: Checkout the base
uses: actions/checkout@v4
with:
ref: "${{ github.base_ref }}"
- name: Extract original public interfaces
run: |
make init
# Recover bin/public_interface.py
cp "${{ runner.temp }}"/public_interface.py bin/public_interface.py
bin/public_interface.py extract > "${{ runner.temp }}"/interfaces.original.json
- name: Detect compatibility breaking changes
id: detect
run: |
bin/public_interface.py check "${{ runner.temp }}"/interfaces.original.json "${{ runner.temp }}"/interfaces.new.json