| # Copyright (c) 2024 Project CHIP Authors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| name: Data model directory checks |
| |
| on: |
| pull_request: |
| |
| jobs: |
| check-data_model-updates: |
| name: Check for updates to data model directory without SHA updates |
| runs-on: ubuntu-latest |
| container: |
| image: ghcr.io/project-chip/chip-build |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v4 |
| with: |
| fetch-depth: 2 |
| - name: Check for changes to master data_model directory without a SHA update |
| run: | |
| python3 scripts/dm_xml_ci_change_enforcement.py data_model/master |
| - name: Check for changes to 1.3 data_model directory without a SHA update |
| run: | |
| python3 scripts/dm_xml_ci_change_enforcement.py data_model/1.3 |
| - name: Check for changes to 1.4 data_model directory without a SHA update |
| run: | |
| python3 scripts/dm_xml_ci_change_enforcement.py data_model/1.4 |
| - name: Check for changes to 1.4.1 data_model directory without a SHA update |
| run: | |
| python3 scripts/dm_xml_ci_change_enforcement.py data_model/1.4.1 |
| |
| check-data_model-build-file: |
| name: Check that all data_model files are listed in the data_model_xmls.gni build file |
| runs-on: ubuntu-latest |
| container: |
| image: ghcr.io/project-chip/chip-build |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v4 |
| - name: Setup pip modules we use |
| run: | |
| python3 -m venv out/venv |
| out/venv/bin/pip3 install \ |
| jinja2 |
| - name: Generate build file (data_model_xmls.gni) |
| run: out/venv/bin/python3 src/python_testing/matter_testing_infrastructure/generate_data_model_xmls_gni.py |
| - name: Ensure git works in current working directory |
| run: git config --global --add safe.directory `pwd` |
| - name: Check for uncommited changes |
| run: | |
| git diff --exit-code HEAD -- src/python_testing/matter_testing_infrastructure/data_model_xmls.gni |