diff --git a/.github/test_build_apps.sh b/.github/test_build_apps.sh new file mode 100644 index 0000000000..9a3e3152a4 --- /dev/null +++ b/.github/test_build_apps.sh @@ -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 diff --git a/.github/workflows/build_all_apps.yml b/.github/workflows/build_all_apps.yml new file mode 100644 index 0000000000..e18a1c1586 --- /dev/null +++ b/.github/workflows/build_all_apps.yml @@ -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 .. diff --git a/apps/bsncent/syscfg.yml b/apps/bsncent/syscfg.yml index 22bc8438b2..cd78a2f8b3 100644 --- a/apps/bsncent/syscfg.yml +++ b/apps/bsncent/syscfg.yml @@ -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