ci: Build tests under standard project folder tree

This uses standard folder tree to build tests (where nimble is in
repos folder, and not as a top project folder).
This commit is contained in:
Szymon Janc
2023-09-26 09:43:05 +02:00
parent acc3ee912a
commit f9c3512d2a
50 changed files with 117 additions and 168 deletions
+5 -23
View File
@@ -6,7 +6,7 @@
# 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,
@@ -17,34 +17,16 @@
# under the License.
#
project.name: "apache-mynewt-nimble"
project.name: "my_project"
project.repositories:
- apache-mynewt-core
- mcuboot
- apache-mynewt-mcumgr
# Use github's distribution mechanism for core ASF libraries.
# This provides mirroring automatically for us.
#
repository.apache-mynewt-core:
type: github
vers: 0.0.0
user: apache
repo: mynewt-core
repository.mcuboot:
type: github
vers: 0.0.0
user: mcu-tools
repo: mcuboot
branch: main
repository.apache-mynewt-mcumgr:
type: github
vers: 0.0.0
user: apache
repo: mynewt-mcumgr
repository.tinyusb:
type: github
vers: 0.0.0
user: hathach
repo: tinyusb
-56
View File
@@ -1,56 +0,0 @@
#
# 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.
#
project.name: "apache-mynewt-nimble"
project.repositories:
- apache-mynewt-core
- mcuboot
- apache-mynewt-mcumgr
repository.apache-mynewt-core:
type: github
vers: 0.0.0
user: apache
repo: mynewt-core
repository.apache-mynewt-nimble:
type: github
vers: 0.0.0
user: apache
repo: mynewt-nimble
repository.mcuboot:
type: github
vers: 0.0.0
user: mcu-tools
repo: mcuboot
branch: main
repository.apache-mynewt-mcumgr:
type: github
vers: 0.0.0
user: apache
repo: mynewt-mcumgr
repository.tinyusb:
type: github
vers: 0.0.0
user: hathach
repo: tinyusb
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/blehci-nordic_pca10028
pkg.name: "targets_ci/nordic_pca10028_blehci"
### Package: "targets/blehci-nordic_pca10028
pkg.name: "targets/nordic_pca10028_blehci"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/nordic_pca10056_btshell
pkg.name: "targets_ci/nordic_pca10056_btshell"
### Package: "targets/nordic_pca10056_btshell
pkg.name: "targets/nordic_pca10056_btshell"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/nordic_pca10056_btshell
pkg.name: "targets_ci/nordic_pca10095_btshell"
### Package: "targets/nordic_pca10056_btshell
pkg.name: "targets/nordic_pca10095_btshell"
pkg.type: "target"
pkg.description:
pkg.author:
+1 -1
View File
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: targets_ci/native_btshell
pkg.name: targets/native_btshell
pkg.type: target
pkg.description:
pkg.author:
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/nordic_pca10028_boot
pkg.name: "targets_ci/nordic_pca10028_boot"
### Package: "targets/nordic_pca10028_boot
pkg.name: "targets/nordic_pca10028_boot"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/nordic_pca10028_bt5_blehci
pkg.name: "targets_ci/nordic_pca10028_bt5_blehci"
### Package: "targets/nordic_pca10028_bt5_blehci
pkg.name: "targets/nordic_pca10028_bt5_blehci"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -16,7 +16,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056-blehci-usb"
pkg.name: "targets/nordic_pca10056-blehci-usb"
pkg.type: target
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_advertiser"
pkg.name: "targets/nordic_pca10056_advertiser"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blecent"
pkg.name: "targets/nordic_pca10056_blecent"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blecsc"
pkg.name: "targets/nordic_pca10056_blecsc"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blehci"
pkg.name: "targets/nordic_pca10056_blehci"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blehci_all_enabled"
pkg.name: "targets/nordic_pca10056_blehci_all_enabled"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blehci_no_privacy"
pkg.name: "targets/nordic_pca10056_blehci_no_privacy"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blehr"
pkg.name: "targets/nordic_pca10056_blehr"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blemesh"
pkg.name: "targets/nordic_pca10056_blemesh"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blemesh_cdb"
pkg.name: "targets/nordic_pca10056_blemesh_cdb"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blemesh_ext_adv"
pkg.name: "targets/nordic_pca10056_blemesh_ext_adv"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blemesh_light"
pkg.name: "targets/nordic_pca10056_blemesh_light"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blemesh_models_example_1"
pkg.name: "targets/nordic_pca10056_blemesh_models_example_1"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blemesh_models_example_2"
pkg.name: "targets/nordic_pca10056_blemesh_models_example_2"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blemesh_shell"
pkg.name: "targets/nordic_pca10056_blemesh_shell"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blemesh_storage"
pkg.name: "targets/nordic_pca10056_blemesh_storage"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_bleprph"
pkg.name: "targets/nordic_pca10056_bleprph"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_bleprph_oic"
pkg.name: "targets/nordic_pca10056_bleprph_oic"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_blesplit"
pkg.name: "targets/nordic_pca10056_blesplit"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_bleuart"
pkg.name: "targets/nordic_pca10056_bleuart"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_btshell_2M"
pkg.name: "targets/nordic_pca10056_btshell_2M"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_btshell_2M_coded"
pkg.name: "targets/nordic_pca10056_btshell_2M_coded"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/nordic_pca10056_btshell_all
pkg.name: "targets_ci/nordic_pca10056_btshell_all"
### Package: "targets/nordic_pca10056_btshell_all
pkg.name: "targets/nordic_pca10056_btshell_all"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/nordic_pca10056_btshell_all_v52
pkg.name: "targets_ci/nordic_pca10056_btshell_all_v52"
### Package: "targets/nordic_pca10056_btshell_all_v52
pkg.name: "targets/nordic_pca10056_btshell_all_v52"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_btshell_coded"
pkg.name: "targets/nordic_pca10056_btshell_coded"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_btshell_ext_adv"
pkg.name: "targets/nordic_pca10056_btshell_ext_adv"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_btshell_periodic_adv"
pkg.name: "targets/nordic_pca10056_btshell_periodic_adv"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_btshell_sm_legacy"
pkg.name: "targets/nordic_pca10056_btshell_sm_legacy"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_btshell_sm_none"
pkg.name: "targets/nordic_pca10056_btshell_sm_none"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_btshell_sm_sc"
pkg.name: "targets/nordic_pca10056_btshell_sm_sc"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_btshell_sm_sc_legacy"
pkg.name: "targets/nordic_pca10056_btshell_sm_sc_legacy"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/nordic_pca10056_btshell_xtal_settle_0
pkg.name: "targets_ci/nordic_pca10056_btshell_xtal_settle_0"
### Package: "targets/nordic_pca10056_btshell_xtal_settle_0
pkg.name: "targets/nordic_pca10056_btshell_xtal_settle_0"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/nordic_pca10056_bttester
pkg.name: "targets_ci/nordic_pca10056_bttester"
### Package: "targets/nordic_pca10056_bttester
pkg.name: "targets/nordic_pca10056_bttester"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/nordic_pca10056_dtm
pkg.name: "targets_ci/nordic_pca10056_dtm"
### Package: "targets/nordic_pca10056_dtm
pkg.name: "targets/nordic_pca10056_dtm"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/nordic_pca10056_btshell
pkg.name: "targets_ci/nordic_pca10056_ext_advertiser"
### Package: "targets/nordic_pca10056_btshell
pkg.name: "targets/nordic_pca10056_ext_advertiser"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,7 +17,7 @@
# under the License.
#
pkg.name: "targets_ci/nordic_pca10056_scanner"
pkg.name: "targets/nordic_pca10056_scanner"
pkg.type: "target"
pkg.description:
pkg.author:
@@ -17,8 +17,8 @@
# under the License.
#
### Package: "targets_ci/blehci-nordic_pca10095
pkg.name: "targets_ci/nordic_pca10095_blehci"
### Package: "targets/blehci-nordic_pca10095
pkg.name: "targets/nordic_pca10095_blehci"
pkg.type: "target"
pkg.description:
pkg.author:
+3
View File
@@ -31,16 +31,19 @@ jobs:
with:
release: '12.2.Rel1'
- name: Install Dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y make ccache gcc-multilib g++-multilib
- name: Build example ports
shell: bash
run: |
make -C porting/examples/dummy/ clean all
make -C porting/examples/linux/ clean all
make -C porting/examples/linux_blemesh/ clean all
make -C porting/npl/linux/test/ clean all test
- name: Build RIOT port
shell: bash
if: success() || failure()
continue-on-error: true
run: |
+22 -14
View File
@@ -38,33 +38,41 @@ jobs:
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: |
cp .github/project.yml project.yml
mkdir repos
git clone --depth=1 https://github.com/apache/mynewt-core repos/apache-mynewt-core
git clone --depth=1 https://github.com/mcu-tools/mcuboot.git repos/mcuboot
git clone --depth=1 https://github.com/apache/mynewt-mcumgr repos/apache-mynewt-mcumgr
git clone --depth=1 https://github.com/hathach/tinyusb.git repos/tinyusb
git clone --depth=1 https://github.com/NordicSemiconductor/nrfx --branch v2.11.0 repos/nordic-nrfx
git clone --depth=1 https://github.com/Mbed-TLS/mbedtls.git --branch v2.28.4 repos/mbedtls
newt new build
cp -f .github/project.yml build/project.yml
cd build
newt upgrade --shallow=1
rm -rf targets
rm -rf repos/apache-mynewt-nimble
git clone .. repos/apache-mynewt-nimble
cd ..
- name: Build targets
shell: bash
run: |
cp -r .github/targets targets_ci
ls targets_ci | xargs -n1 sh -c 'echo "Testing $0"; newt build -q targets_ci/$0'
rm -rf targets_ci
cp -r .github/targets build/targets
cd build
ls targets | xargs -n1 sh -c 'echo "Testing $0"; newt build -q $0'
rm -rf targets
cd ..
- name: Build Linux-only targets
shell: bash
if: matrix.os == 'ubuntu-latest'
run: |
cp -r .github/targets_linux targets_ci
ls targets_ci | xargs -n1 sh -c 'echo "Testing $0"; newt build -q targets_ci/$0'
rm -rf targets_ci
cp -r .github/targets_linux build/targets
cd build
ls targets | xargs -n1 sh -c 'echo "Testing $0"; newt build -q $0'
rm -rf targets
cd ..
+4
View File
@@ -30,12 +30,14 @@ jobs:
with:
fetch-depth: 0
- name: Install Dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y uncrustify
mkdir repos
git clone --depth=1 https://github.com/apache/mynewt-core repos/apache-mynewt-core
- name: check style
shell: bash
run: |
./repos/apache-mynewt-core/.github/check_style.py
@@ -47,6 +49,7 @@ jobs:
with:
fetch-depth: 0
- name: Install Dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y libxml2-utils
@@ -58,5 +61,6 @@ jobs:
VERSION=`xmllint --xpath "//snapshotVersion[1]/value/text()" version.xml`
wget https://repository.apache.org/content/repositories/snapshots/org/apache/rat/apache-rat/$SNAPSHOT/apache-rat-$VERSION.jar -O apache-rat.jar
- name: check licensing
shell: bash
run: |
./repos/apache-mynewt-core/.github/check_license.py
+14 -9
View File
@@ -31,22 +31,27 @@ jobs:
with:
go-version: 'stable'
- name: Install Dependencies
shell: bash
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: |
cp .github/project.yml project.yml
mkdir repos
git clone --depth=1 https://github.com/apache/mynewt-core repos/apache-mynewt-core
git clone --depth=1 https://github.com/mcu-tools/mcuboot.git repos/mcuboot
git clone --depth=1 https://github.com/apache/mynewt-mcumgr repos/apache-mynewt-mcumgr
git clone --depth=1 https://github.com/hathach/tinyusb.git repos/tinyusb
git clone --depth=1 https://github.com/NordicSemiconductor/nrfx --branch v2.11.0 repos/nordic-nrfx
git clone --depth=1 https://github.com/Mbed-TLS/mbedtls.git --branch v2.28.4 repos/mbedtls
newt new build
cp -f .github/project.yml build/project.yml
cd build
newt upgrade --shallow=1
rm -rf repos/apache-mynewt-nimble
git clone .. repos/apache-mynewt-nimble
cd ..
- name: newt test all
run: newt test all
shell: bash
run: |
cd build
newt test all
+14 -11
View File
@@ -34,35 +34,38 @@ jobs:
with:
release: '12.2.Rel1'
- name: Install Dependencies
shell: bash
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: |
mkdir /tmp/proj
mkdir /tmp/proj/repos
cp .github/project_ports.yml /tmp/proj/project.yml
git clone --depth=1 https://github.com/apache/mynewt-core /tmp/proj/repos/apache-mynewt-core
git clone --depth=1 https://github.com/mcu-tools/mcuboot.git /tmp/proj/repos/mcuboot
git clone --depth=1 https://github.com/apache/mynewt-mcumgr /tmp/proj/repos/apache-mynewt-mcumgr
git clone --depth=1 https://github.com/hathach/tinyusb.git /tmp/proj/repos/tinyusb
git clone --depth=1 https://github.com/NordicSemiconductor/nrfx --branch v2.11.0 repos/nordic-nrfx
git clone --depth=1 https://github.com/Mbed-TLS/mbedtls.git --branch v2.28.4 repos/mbedtls
cp -r `pwd` /tmp/proj/repos/apache-mynewt-nimble
newt new build
cp -f .github/project.yml build/project.yml
cd build
newt upgrade --shallow=1
rm -rf repos/apache-mynewt-nimble
git clone .. repos/apache-mynewt-nimble
cd ..
- name: Build ports tests targets
shell: bash
run: |
cd /tmp/proj
cd build
./repos/apache-mynewt-nimble/porting/update_generated_files.sh
cd repos/apache-mynewt-nimble
- name: Check ports syscfg (debug)
shell: bash
if: runner.debug == '1'
run: |
git diff
- name: Check ports syscfg
shell: bash
run: |
git diff --quiet || (\
echo -e "\033[0;31mChanges in system configration files detected.";