AT Host Refactoring for pipe based architecture #817
Workflow file for this run
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 | |
| on: | |
| pull_request: | |
| paths-ignore: | |
| - "doc/**" | |
| - "README.md" | |
| - ".github/workflows/*.yml" | |
| - "!.github/workflows/build.yml" | |
| schedule: | |
| # Run every day at 03:00 AM | |
| - cron: "00 3 * * *" | |
| workflow_call: | |
| inputs: | |
| trigger_source: | |
| description: 'Trigger source' | |
| required: true | |
| type: string | |
| jobs: | |
| build-and-test-in-toolchain-bundle: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout Serial Modem repository | |
| uses: actions/checkout@v4 | |
| with: | |
| path: serial_modem | |
| - name: Install build libraries for native_sim | |
| run: | | |
| sudo apt-get update | |
| sudo apt install libc6-dev-i386 | |
| - name: Prepare west project | |
| run: | | |
| python3 -m pip install west | |
| west init -l serial_modem | |
| west update -o=--depth=1 -n | |
| - name: Install nrfutil and toolchain manager | |
| run: | | |
| wget -q https://files.nordicsemi.com/artifactory/swtools/external/nrfutil/executables/x86_64-unknown-linux-gnu/nrfutil | |
| chmod +x nrfutil | |
| ./nrfutil install toolchain-manager | |
| - name: Find proper toolchain bundle | |
| id: set-tb-id | |
| run: echo "TOOLCHAIN_BUNDLE_NAME=ncs-toolchain-x86_64-linux-$(./nrf/scripts/print_toolchain_checksum.sh).tar.gz" >> $GITHUB_OUTPUT | |
| - name: Restore toolchain bundle from cache | |
| id: restore-cached-tb | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: ${{steps.set-tb-id.outputs.TOOLCHAIN_BUNDLE_NAME}} | |
| key: ${{steps.set-tb-id.outputs.TOOLCHAIN_BUNDLE_NAME}} | |
| - name: Download toolchain bundle if not cached | |
| if: steps.restore-cached-tb.outputs.cache-hit != 'true' | |
| run: wget https://files.nordicsemi.com/artifactory/NCS/external/bundles/v3/${{steps.set-tb-id.outputs.TOOLCHAIN_BUNDLE_NAME}} | |
| - name: Save toolchain bundle to cache | |
| if: steps.restore-cached-tb.outputs.cache-hit != 'true' | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: ${{steps.set-tb-id.outputs.TOOLCHAIN_BUNDLE_NAME}} | |
| key: ${{steps.set-tb-id.outputs.TOOLCHAIN_BUNDLE_NAME}} | |
| - name: Install proper toolchain bundle | |
| run: ./nrfutil toolchain-manager install --toolchain-bundle ${{steps.set-tb-id.outputs.TOOLCHAIN_BUNDLE_NAME}} | |
| - name: Build Serial Modem for PR | |
| if: github.event_name == 'pull_request' | |
| run: | | |
| ./nrfutil toolchain-manager launch --chdir serial_modem -- west twister -T . -v --inline-logs --overflow-as-errors --integration | |
| - name: Build Serial Modem nightly | |
| if: ${{ github.event_name == 'schedule' || inputs.trigger_source == 'release-workflow' }} | |
| run: | | |
| ./nrfutil toolchain-manager launch --chdir serial_modem -- west twister -T . -v --inline-logs --overflow-as-errors --all | |
| - name: Rename binaries | |
| if: ${{ inputs.trigger_source == 'release-workflow' }} | |
| working-directory: serial_modem | |
| run: | | |
| mkdir -p artifacts | |
| VERSION=${{ github.event.release.tag_name || github.ref_name || 'unknown-version' }} | |
| NRF9151DK_BUILD_DIR=twister-out/nrf9151dk_nrf9151_ns/zephyr/serial_modem/app | |
| NRF54_BUILD_DIR=twister-out/nrf54l15dk_nrf54l15_cpuapp/zephyr/serial_modem/samples | |
| # nRF9151 DK ext MCU builds | |
| cp ${NRF9151DK_BUILD_DIR}/serial_modem.ppp_cmux_with_extmcu/merged.hex \ | |
| artifacts/serial_modem_${VERSION}_nrf9151dk_extmcu.hex | |
| cp ${NRF9151DK_BUILD_DIR}/serial_modem.ppp_cmux_with_extmcu.mtrace/merged.hex \ | |
| artifacts/serial_modem_${VERSION}_nrf9151dk_extmcu_mtrace.hex | |
| # nRF9151 DK normal builds | |
| cp ${NRF9151DK_BUILD_DIR}/serial_modem.ppp_cmux/merged.hex \ | |
| artifacts/serial_modem_${VERSION}_nrf9151dk_normal.hex | |
| cp ${NRF9151DK_BUILD_DIR}/serial_modem.ppp_cmux.mtrace/merged.hex \ | |
| artifacts/serial_modem_${VERSION}_nrf9151dk_normal_mtrace.hex | |
| # nRF54L15 DK AT client shell build | |
| cp ${NRF54_BUILD_DIR}/sm_at_client_shell/sample.sm_at_client_shell/merged.hex \ | |
| artifacts/sm_at_client_shell_${VERSION}_nrf54l15dk.hex | |
| # nRF54L15 DK PPP shell build | |
| cp ${NRF54_BUILD_DIR}/sm_ppp_shell/sample.sm_ppp_shell/merged.hex \ | |
| artifacts/sm_ppp_shell_${VERSION}_nrf54l15dk.hex | |
| - name: Upload artifacts | |
| if: ${{ inputs.trigger_source == 'release-workflow' }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| path: serial_modem/artifacts/* |