Skip to content

Commit

Permalink
ci: Build application samples
Browse files Browse the repository at this point in the history
Make sure samples are building with default BSP
(currently nordic_pca10056).
  • Loading branch information
sjanc committed Jan 4, 2024
1 parent e44903f commit 5d0bf9d
Show file tree
Hide file tree
Showing 3 changed files with 124 additions and 1 deletion.
54 changes: 54 additions & 0 deletions .github/test_build_apps.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/bin/bash -x

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.

EXIT_CODE=0

APPS=$(basename -a `ls -d repos/apache-mynewt-core/apps/*/`)

# Those apps require some special configurations or setup
IGNORED_APPS="ffs2native fs_test hash_test lora_app_shell loraping lorashell\
pwm_test rust_blinky lvgl_demo"

for app in ${APPS}; do
# NOTE: do not remove the spaces around IGNORED_APPS; it's required to
# match against the first and last entries
if [[ " ${IGNORED_APPS} " =~ [[:blank:]]${app}[[:blank:]] ]]; then
echo "Skipping $app"
continue
fi

echo "Testing $app"

# TODO add support for 'custom' app BSP

target="test-$app"
newt target delete -s -f $target &> /dev/null
newt target create -s $target
newt target set -s $target bsp="@apache-mynewt-core/hw/bsp/nordic_pca10056"
newt target set -s $target app="@apache-mynewt-core/apps/$app"
newt build -q $target

rc=$?
[[ $rc -ne 0 ]] && EXIT_CODE=$rc

newt clean $target
newt target delete -s -f $target
done

exit $EXIT_CODE
69 changes: 69 additions & 0 deletions .github/workflows/build_all_apps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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: Build check

on: [push, pull_request]

jobs:
targets:
name: Build all apps
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: 'stable'
- uses: carlosperate/arm-none-eabi-gcc-action@48db4484a55750df7a0ccca63347fcdea6534d78
with:
release: '12.2.Rel1'
- name: Install Dependencies
shell: bash
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y gcc-multilib
- name: Install newt
shell: bash
run: |
go version
go install mynewt.apache.org/newt/newt@latest
- name: Setup project
shell: bash
run: |
newt new build
cp -f .github/project.yml build/project.yml
cd build
newt upgrade --shallow=1
git -C repos/apache-mynewt-core fetch origin $GITHUB_SHA
sed -i "s/0.0.0/$GITHUB_SHA-commit/g" project.yml
newt upgrade --shallow=1
rm -rf targets
cd ..
- name: Build applications
shell: bash
if: matrix.os == 'ubuntu-latest'
run: |
cd build
bash ../.github/test_build_apps.sh
cd ..
2 changes: 1 addition & 1 deletion apps/bsncent/syscfg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ syscfg.vals:
LOG_LEVEL: 255

# Turn strict scheduling on
BLE_LL_STRICT_CONN_SCHEDULING: 1
BLE_LL_CONN_STRICT_SCHED: 1

# Config in RAM
BLE_STORE_CONFIG_PERSIST: 0

0 comments on commit 5d0bf9d

Please sign in to comment.