Build Dev apps #2
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
| name: Build Dev apps | |
| on: | |
| schedule: | |
| - cron: '0 23 * * *' # 6 pm EST daily, changed from 22 to 23 due to Daylight Saving | |
| pull_request: | |
| branches: | |
| - main | |
| - "release_*" | |
| workflow_dispatch: | |
| inputs: | |
| build-type: | |
| description: "The build type to use" | |
| required: true | |
| type: choice | |
| options: | |
| - standard | |
| - full | |
| concurrency: | |
| group: dev-build-examples-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| set-build-type: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| build-type: ${{ steps.set-build-type.outputs.build-type }} | |
| steps: | |
| - name: Set build-type based on event | |
| id: set-build-type | |
| run: | | |
| if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then | |
| echo "build-type=${{ github.event.inputs.build-type }}" >> $GITHUB_OUTPUT | |
| elif [[ "${{ github.event_name }}" == "schedule" ]]; then | |
| echo "build-type=full" >> $GITHUB_OUTPUT | |
| elif [[ "${{ github.event_name }}" == "pull_request" ]]; then | |
| echo "build-type=standard" >> $GITHUB_OUTPUT | |
| fi | |
| build-lighting-app: | |
| name: Build Lighting App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "lighting-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| build-air-quality-sensor-app: | |
| name: Build Air Quality Sensor App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "air-quality-sensor-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| build-light-switch-app: | |
| name: Build Light Switch App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "light-switch-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| build-lock-app: | |
| name: Build Lock App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "lock-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| ncp-917-support: true | |
| ncp-wf200-support: true | |
| build-thermostat-app: | |
| name: Build Thermostat App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "thermostat" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| ncp-917-support: true | |
| ncp-wf200-support: true | |
| build-window-app: | |
| name: Build Window App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "window-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| ncp-917-support: true | |
| build-fan-control-app: | |
| name: Build Fan Control App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "fan-control-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| thread-support: false | |
| build-closure-app: | |
| name: Build Closure App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "closure-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| build-multi-sensor-app: | |
| name: Build Multi Sensor App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "multi-sensor-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| build-onoff-plug-app: | |
| name: Build OnOff Plug App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "onoff-plug-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| build-refrigerator-app: | |
| name: Build Refrigerator App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "refrigerator-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| build-performance-test-app: | |
| name: Build Performance Test App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "performance-test-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| wifi-soc-support: false | |
| build-zigbee-matter-light-app: | |
| name: Build Zigbee Matter Light App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "zigbee-matter-light" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| thread-keyword: "" | |
| mg24-internal-support: false | |
| mgm24-support: false | |
| mgm24-internal-support: false | |
| wifi-soc-support: false | |
| build-platform-app: | |
| name: Build Platform App | |
| needs: set-build-type | |
| uses: ./.github/workflows/platform-builder.yaml | |
| with: | |
| example-app: "platform-app" | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| build-sqa-tools: | |
| name: Build SQA Tools | |
| needs: set-build-type | |
| uses: ./.github/workflows/sqa-tools-builder.yaml | |
| with: | |
| build-type: ${{ needs.set-build-type.outputs.build-type }} | |
| merge-apps: | |
| name: Merge App Artifacts | |
| runs-on: ubuntu-latest | |
| needs: | |
| - set-build-type | |
| - build-sqa-tools | |
| - build-lighting-app | |
| - build-air-quality-sensor-app | |
| - build-light-switch-app | |
| - build-lock-app | |
| - build-thermostat-app | |
| - build-window-app | |
| - build-fan-control-app | |
| - build-multi-sensor-app | |
| - build-onoff-plug-app | |
| - build-refrigerator-app | |
| - build-performance-test-app | |
| - build-platform-app | |
| - build-zigbee-matter-light-app | |
| - build-closure-app | |
| if: success() | |
| steps: | |
| - name: Merge artifacts | |
| uses: actions/upload-artifact/merge@v5 | |
| with: | |
| name: "dev-artifacts-${{ needs.set-build-type.outputs.build-type }}" | |
| delete-merged: true | |
| pattern: "*-${{ needs.set-build-type.outputs.build-type }}" | |
| wait-for-test-results: | |
| name: Wait for Test Results | |
| needs: merge-apps | |
| uses: ./.github/workflows/sqa-sanity-tests.yaml | |
| secrets: | |
| SILABSSW_MATTER_CI_BOT_APP_PRIVATE_KEY: ${{ secrets.SILABSSW_MATTER_CI_BOT_APP_PRIVATE_KEY }} |