Skip to content

Port NimBLE to Mbed TLS #2736

Port NimBLE to Mbed TLS

Port NimBLE to Mbed TLS #2736

Workflow file for this run

#
# 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: Ports
on: [push, pull_request]
jobs:
ports:
name: Build ports
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: carlosperate/arm-none-eabi-gcc-action@v1.12.3
with:
release: '15.2.Rel1'
- name: Install Dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y make ccache gcc-multilib g++-multilib kconfig-frontends libmbedtls-dev cmake build-essential
- name: Cache 32-bit Mbed TLS 3.6
id: cache-mbedtls
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/mbedtls_install
key: ${{ runner.os }}-mbedtls-3.6.5
- name: Compile Mbed TLS 3.6 (On Cache Miss)
if: steps.cache-mbedtls.outputs.cache-hit != 'true'
run: |
git clone --depth 1 --branch mbedtls-3.6.5 --recursive https://github.com/Mbed-TLS/mbedtls.git
cd mbedtls
cmake -B build \
-DCMAKE_C_FLAGS="-m32" \
-DCMAKE_SHARED_LINKER_FLAGS="-m32" \
-DCMAKE_EXE_LINKER_FLAGS="-m32" \
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/mbedtls_install \
-DUSE_SHARED_MBEDTLS_LIBRARY=On \
-DENABLE_TESTING=Off
cmake --build build --target install
- name: Export Mbed TLS Environment Paths
run: |
echo "CPATH=${{ github.workspace }}/mbedtls_install/include" >> $GITHUB_ENV
echo "LIBRARY_PATH=${{ github.workspace }}/mbedtls_install/lib" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=${{ github.workspace }}/mbedtls_install/lib" >> $GITHUB_ENV
echo "MBEDTLS_DIR=${{ github.workspace }}/mbedtls_install" >> $GITHUB_ENV
- 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/examples/linux_blemesh_shell/ 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: |
git clone --depth=1 https://github.com/RIOT-OS/RIOT
rm RIOT/pkg/nimble/patches/ -rf
sed -i 's|PKG_URL.*|PKG_URL = '$(pwd)'|' RIOT/pkg/nimble/Makefile
sed -i 's|PKG_VERSION.*|PKG_VERSION = '${{ github.sha }}'|' RIOT/pkg/nimble/Makefile
make -C RIOT/examples/networking/ble/nimble/nimble_gatt
- name: Build Nuttx port
shell: bash
if: success() || failure()
continue-on-error: true
run: |
mkdir nuttx-build
git clone --depth=1 https://github.com/apache/nuttx.git nuttx-build/nuttx
git clone --depth=1 https://github.com/apache/nuttx-apps nuttx-build/apps
./nuttx-build/nuttx/tools/configure.sh -l nrf52840-dk:sdc_nimble
sed -i 's|CONFIG_NIMBLE_REF :=.*|CONFIG_NIMBLE_REF := ${{ github.sha }}|' nuttx-build/apps/wireless/bluetooth/nimble/Makefile
make -C nuttx-build/nuttx