Skip to content

Fixing the top level zcl file registration when the gsdk is updated from one branch to another #1162

Fixing the top level zcl file registration when the gsdk is updated from one branch to another

Fixing the top level zcl file registration when the gsdk is updated from one branch to another #1162

Workflow file for this run

name: Zigbee code generation
permissions:
contents: write
on:
push:
pull_request:
workflow_dispatch:
env:
ZAP_TEST_TIMEOUT: 3600000
ZAP_TEMPSTATE: 1
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
TRUSTED_CERTIFICATE_BASE64: ${{ secrets.TRUSTED_CERTIFICATE_BASE64 }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
KEYCHAIN_PASSWORD: silabs
jobs:
prepare-zap-and-regenerate-zigbee:
name: Prepare Zap and regenerate Zigbee
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version: [18.x]
os: [ubuntu-22.04]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/[email protected]
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: sudo ./src-script/install-packages-ubuntu
- run: sudo apt-get install --fix-missing libxml2-utils
- run: node --version
- run: npm --version
- run: npm ci
- run: npm rebuild canvas --update-binary
- run: npm rebuild libxmljs --update-binary
- run: npm run metafile-check
- run: npm run version-stamp
- run: npm run build-spa
- run: npm run self-check
- name: Clone the public GSDK
env:
GIT_CLONE_PROTECTION_ACTIVE: false
run: git clone https://github.com/SiliconLabs/gecko_sdk.git gecko_sdk
- name: Create the temp regen directory for this PR.
run: mkdir regen-pr
- name: Run the zigbee regen with the cloned gsdk, using latest.
run: node ./src-script/gsdk-public-regen.js ./gecko_sdk/ ./regen-pr
- name: Create the temp regen directory for master.
run: mkdir regen-master
- uses: actions/checkout@v3
with:
ref: master
clean: false
- run: npm ci
- run: npm rebuild canvas --update-binary
- run: npm rebuild libxmljs --update-binary
- name: Rebuild with master
run: npm run build
- name: Run the zigbee regen with the cloned gsdk, using master.
run: node ./src-script/gsdk-public-regen.js ./gecko_sdk/ ./regen-master
- name: Remove genResult files just in case.
run: find ./regen-master -name genResult.json -exec rm -f {} \;
- uses: actions/checkout@v3
with:
clean: false
- name: Diff
run: node ./src-script/run-conditionally.js regenTest.zigbee.failOnDiff==true diff -r ./regen-pr ./regen-master