Skip to content

Commit

Permalink
feat: add nRF Cloud versions and revised solar variants (#21)
Browse files Browse the repository at this point in the history
Signed-off-by: Maximilian Deubel <[email protected]>
  • Loading branch information
maxd-nordic committed Apr 5, 2023
1 parent cc99e1f commit 8fca1d1
Show file tree
Hide file tree
Showing 4 changed files with 102 additions and 18 deletions.
35 changes: 21 additions & 14 deletions .github/workflows/build-and-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ on:
- ".github/workflows/build-and-release.yaml"
- "!package.json"
- "!package-lock.json"
- "thingy_world.conf"
workflow_dispatch:
pull_request:

Expand Down Expand Up @@ -65,9 +64,14 @@ jobs:
# will most likely be used connected to a PC
- thingy91.debug
- nrf9160dk.debug
# There is not Solar shield for the nRF9160DK
# Thingy:91 with solar shield using AWS backend
- thingy91.low-power.solar.memfault
- thingy91.debug.solar
# Thingy:91 and nRF9160DK with solar shield using nRF Cloud backend
- thingy91.low-power.solar.memfault.nrfcloud
- thingy91.debug.solar.nrfcloud
- nrf9160dk.low-power.solar.memfault.nrfcloud
- nrf9160dk.debug.solar.nrfcloud
# When enabling WiFi, Memfault does not fit flash
# There is no WiFi shield for the Thingy:91
- nrf9160dk.low-power.wifi
Expand Down Expand Up @@ -98,17 +102,20 @@ jobs:
APP_VERSION=${{ needs.release-version.outputs.nextRelease }}+${{ matrix.configuration }}
echo "CONFIG_ASSET_TRACKER_V2_APP_VERSION=\"${APP_VERSION}\"" >> firmware.conf
echo "APP_VERSION=${APP_VERSION}" >> $GITHUB_ENV
echo "CONFIG_DATA_DEVICE_MODE_ACTIVE=y" >> firmware.conf
echo "CONFIG_LTE_PSM_REQ_RAT=\"00000000\"" >> firmware.conf
- name: Configure the AWS IoT broker hostname
if: ${{ !contains(matrix.configuration, 'nrfcloud') }}
working-directory: firmware
run: |
echo "CONFIG_AWS_IOT_BROKER_HOST_NAME=\"${{ env.BROKER_HOSTNAME }}\"" >> firmware.conf
echo AWS_OVERLAY=overlay-aws.conf >> $GITHUB_ENV
- name: Configure Memfault
if: contains(matrix.configuration, 'memfault')
working-directory: firmware
run: |
echo "CONFIG_NRF_MODEM_LIB_TRACE_ENABLED=y" >> firmware.conf
echo "CONFIG_DEBUG_MODULE_MEMFAULT_USE_EXTERNAL_TRANSPORT=y" >> firmware.conf
echo "CONFIG_DEBUG_MODULE_MEMFAULT_HEARTBEAT_INTERVAL_SEC=3600" >> firmware.conf
echo "CONFIG_MEMFAULT_NCS_FW_VERSION_STATIC=y" >> firmware.conf
Expand All @@ -127,26 +134,26 @@ jobs:
if: contains(matrix.configuration, 'legacy_pco')
run: echo "CONFIG_PDN_LEGACY_PCO=y" >> firmware.conf


- name: Build for LTE-m and NB-IoT
working-directory: firmware
if: ${{ !contains(matrix.configuration, 'nbiot') }}
run: echo "CONFIG_LTE_NETWORK_MODE_LTE_M_NBIOT_GPS=y" >> firmware.conf

- run: cat firmware.conf
working-directory: firmware

- name: enable low-power build
if: contains(matrix.configuration, 'low-power')
run: echo CONFIG_OVERLAY=overlay-low-power.conf >> $GITHUB_ENV

- name: enable debug build
if: contains(matrix.configuration, 'debug')
run: echo CONFIG_OVERLAY=overlay-debug.conf >> $GITHUB_ENV
run: |
echo CONFIG_OVERLAY=overlay-debug.conf >> $GITHUB_ENV
echo "CONFIG_NRF_MODEM_LIB_TRACE=y" >> firmware.conf
- name: enable solar shield support
if: contains(matrix.configuration, 'solar')
run: echo SHIELD_OVERLAY=overlay-solar.conf >> $GITHUB_ENV
run: |
echo SHIELD_OVERLAY=overlay-solar.conf >> $GITHUB_ENV
echo EXTRA_ARGS="-DDTC_OVERLAY_FILE=\"boards/${{ env.board }}.overlay;solar_shield.overlay\"" >> $GITHUB_ENV
- name: enable WiFi shield support
if: contains(matrix.configuration, 'wifi')
Expand All @@ -168,6 +175,9 @@ jobs:
ls BSEC_1.4.8.0_Generic_Release_updated_v3
echo BSEC_OVERLAY=/workdir/project/overlay-bsec.conf >> $GITHUB_ENV
- run: cat firmware.conf
working-directory: firmware

- name: Build
working-directory: firmware
# -Werror=no-unused-variable below is needed for BSEC to compile
Expand All @@ -176,19 +186,16 @@ jobs:
-v ${PWD}:/workdir/project \
-v ${PWD}/sdk-nrf:/workdir/nrf \
-w /workdir/nrf/applications/asset_tracker_v2 \
nordicplayground/nrfconnect-sdk:v2.3-branch \
nordicplayground/nrfconnect-sdk:main \
west build \
-p always \
-b ${{ env.board }} \
--build-dir /workdir/project/build \
-- \
${{ env.EXTRA_ARGS }} \
-DOVERLAY_CONFIG="${{ env.CONFIG_OVERLAY }};${{ env.PGPS_OVERLAY }};overlay-aws.conf;${{ env.MEMFAULT_OVERLAY }};/workdir/project/thingy_world.conf;/workdir/project/firmware.conf;${{ env.SHIELD_OVERLAY }};${{ env.BSEC_OVERLAY }}" \
-DOVERLAY_CONFIG="${{ env.CONFIG_OVERLAY }};${{ env.PGPS_OVERLAY }};${{ env.AWS_OVERLAY }};${{ env.MEMFAULT_OVERLAY }};/workdir/project/firmware.conf;${{ env.SHIELD_OVERLAY }};${{ env.BSEC_OVERLAY }}" \
-DEXTRA_CFLAGS="-Werror -Wno-unused-variable"
- run: cat firmware/firmware.conf
if: failure()

- run: cat firmware/build/zephyr/.config
if: failure()

Expand Down
80 changes: 80 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,86 @@
"name": "thingy_world-Thingy91-debug.solar-${nextRelease.gitTag}.elf",
"label": "Symbol file for Thingy:91 with Solar Shield firmware (debug)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/thingy91.low-power.solar.memfault.nrfcloud-*/merged.hex",
"name": "thingy_world-Thingy91-low-power.solar-${nextRelease.gitTag}.hex",
"label": "Pre-build HEX file for Thingy:91 with Solar Shield on nRF Cloud (low power)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/thingy91.low-power.solar.memfault.nrfcloud-*/app_signed.hex",
"name": "thingy_world-Thingy91-low-power.solar-${nextRelease.gitTag}-signed.hex",
"label": "Pre-build HEX file for Thingy:91 with Solar Shield on nRF Cloud (low power, signed)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/thingy91.low-power.solar.memfault.nrfcloud-*/app_update.bin",
"name": "thingy_world-Thingy91-low-power.solar-${nextRelease.gitTag}-app_upgrade.bin",
"label": "App upgrade file for Thingy:91 with Solar Shield on nRF Cloud (low power)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/thingy91.low-power.solar.memfault.nrfcloud-*/zephyr.elf",
"name": "thingy_world-Thingy91-low-power.solar-${nextRelease.gitTag}.elf",
"label": "Symbol file for Thingy:91 with Solar Shield on nRF Cloud firmware (low power)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/thingy91.debug.solar.memfault.nrfcloud-*/merged.hex",
"name": "thingy_world-Thingy91-debug.solar-${nextRelease.gitTag}.hex",
"label": "Pre-build HEX file for Thingy:91 with Solar Shield on nRF Cloud (debug)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/thingy91.debug.solar.memfault.nrfcloud-*/app_signed.hex",
"name": "thingy_world-Thingy91-debug.solar-${nextRelease.gitTag}-signed.hex",
"label": "Pre-build HEX file for Thingy:91 with Solar Shield on nRF Cloud (signed, debug)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/thingy91.debug.solar.memfault.nrfcloud-*/app_update.bin",
"name": "thingy_world-Thingy91-debug.solar-${nextRelease.gitTag}-app_upgrade.bin",
"label": "App upgrade file for Thingy:91 with Solar Shield on nRF Cloud (debug)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/thingy91.debug.solar.memfault.nrfcloud-*/zephyr.elf",
"name": "thingy_world-Thingy91-debug.solar-${nextRelease.gitTag}.elf",
"label": "Symbol file for Thingy:91 with Solar Shield on nRF Cloud firmware (debug)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/nrf9160dk.low-power.solar.memfault.nrfcloud-*/merged.hex",
"name": "thingy_world-nrf9160dk-low-power.solar-${nextRelease.gitTag}.hex",
"label": "Pre-build HEX file for nRF9160 DK with Solar Shield on nRF Cloud (low power)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/nrf9160dk.low-power.solar.memfault.nrfcloud-*/app_signed.hex",
"name": "thingy_world-nrf9160dk-low-power.solar-${nextRelease.gitTag}-signed.hex",
"label": "Pre-build HEX file for nRF9160 DK with Solar Shield on nRF Cloud (low power, signed)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/nrf9160dk.low-power.solar.memfault.nrfcloud-*/app_update.bin",
"name": "thingy_world-nrf9160dk-low-power.solar-${nextRelease.gitTag}-app_upgrade.bin",
"label": "App upgrade file for nRF9160 DK with Solar Shield on nRF Cloud (low power)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/nrf9160dk.low-power.solar.memfault.nrfcloud-*/zephyr.elf",
"name": "thingy_world-nrf9160dk-low-power.solar-${nextRelease.gitTag}.elf",
"label": "Symbol file for nRF9160 DK with Solar Shield on nRF Cloud firmware (low power)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/nrf9160dk.debug.solar.memfault.nrfcloud-*/merged.hex",
"name": "thingy_world-nrf9160dk-debug.solar-${nextRelease.gitTag}.hex",
"label": "Pre-build HEX file for nRF9160 DK with Solar Shield on nRF Cloud (debug)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/nrf9160dk.debug.solar.memfault.nrfcloud-*/app_signed.hex",
"name": "thingy_world-nrf9160dk-debug.solar-${nextRelease.gitTag}-signed.hex",
"label": "Pre-build HEX file for nRF9160 DK with Solar Shield on nRF Cloud (signed, debug)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/nrf9160dk.debug.solar.memfault.nrfcloud-*/app_update.bin",
"name": "thingy_world-nrf9160dk-debug.solar-${nextRelease.gitTag}-app_upgrade.bin",
"label": "App upgrade file for nRF9160 DK with Solar Shield on nRF Cloud (debug)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/nrf9160dk.debug.solar.memfault.nrfcloud-*/zephyr.elf",
"name": "thingy_world-nrf9160dk-debug.solar-${nextRelease.gitTag}.elf",
"label": "Symbol file for nRF9160 DK with Solar Shield on nRF Cloud firmware (debug)"
},
{
"path": "/home/runner/work/thingy-world-firmware-aws/thingy-world-firmware-aws/nrf9160dk.low-power.memfault-*/merged.hex",
"name": "thingy_world-nRF9160DK-low-power-${nextRelease.gitTag}.hex",
Expand Down
2 changes: 1 addition & 1 deletion sdk-nrf
Submodule sdk-nrf updated 517 files
3 changes: 0 additions & 3 deletions thingy_world.conf

This file was deleted.

0 comments on commit 8fca1d1

Please sign in to comment.