| #!/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 |
| |
| BSPS=$(basename -a `find repos/apache-mynewt-core/hw/bsp/* -maxdepth 0 -type d`) |
| IGNORED_BSPS="dialog_cmac hifive1 native native-armv7\ |
| nucleo-f030r8 nucleo-f072rb\ |
| nucleo-f303k8\ |
| olimex-p103 olimex-pic32-emz64 olimex-pic32-hmz144\ |
| pic32mx470_6lp_clicker pic32mz2048_wi-fire usbmkw41z\ |
| weact_g431cb" |
| |
| BSP_COUNT=0 |
| |
| for bsp in ${BSPS}; do |
| # NOTE: do not remove the spaces around IGNORED_BSPS; it's required to |
| # match against the first and last entries |
| if [[ " ${IGNORED_BSPS} " =~ [[:blank:]]${bsp}[[:blank:]] ]]; then |
| echo "Skipping bsp=$bsp" |
| continue |
| fi |
| |
| # Limit build on non-Linux VMs to 10 BSPs |
| if [ $RUNNER_OS != "Linux" ]; then |
| ((BSP_COUNT++)) |
| |
| if [ $BSP_COUNT -gt 10 ]; then |
| echo "Skipping bsp=$bsp (limit reached)" |
| continue |
| fi |
| fi |
| |
| |
| echo "Testing bsp=$bsp" |
| |
| target="test-bootloader-$bsp" |
| newt target delete -s -f $target &> /dev/null |
| newt target create -s $target |
| newt target set -s $target bsp="@apache-mynewt-core/hw/bsp/$bsp" |
| newt target set -s $target app="@mcuboot/boot/mynewt" |
| newt target set -s $target build_profile=optimized |
| newt build -q $target |
| |
| rc=$? |
| [[ $rc -ne 0 ]] && EXIT_CODE=$rc |
| |
| newt target delete -s -f $target |
| done |
| |
| exit $EXIT_CODE |