Skip to content

WiFi location service with sample #42

WiFi location service with sample

WiFi location service with sample #42

Workflow file for this run

name: "CI: Firmware Build"
on:
push:
branches:
- main
pull_request:
jobs:
lint:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
# Fetch depth must be greater than the number of commits included in the push in order to
# compare against commit prior to merge. 15 is chosen as a reasonable default for the
# upper bound of commits in a single PR.
fetch-depth: 15
- name: Install clang-format
shell: bash
run: |
pip install clang-format
- name: Check code formatting
shell: bash
run: |
git fetch --no-recurse-submodules
if [[ $GITHUB_EVENT_NAME == 'push' ]]; then
BASE=${{ github.event.before }}
else
BASE=origin/$GITHUB_BASE_REF
fi
git clang-format --verbose --extensions c,h --diff --diffstat $BASE
linux_build:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository and submodules
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.x
architecture: 'x64'
- name: Install Linux deps
shell: bash
run: |
sudo apt install libssl-dev
- name: Build golioth_basics
shell: bash
run: |
cd examples/linux/golioth_basics
echo "#define GOLIOTH_PSK_ID \"device@project\"" > credentials.inc
echo "#define GOLIOTH_PSK \"secret\"" >> credentials.inc
./build.sh
- name: Build certificate_auth
shell: bash
run: |
cd examples/linux/certificate_auth
./build.sh
esp_idf_build:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository and submodules
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.x
architecture: 'x64'
- name: Build ESP-IDF cpp project
uses: espressif/esp-idf-ci-action@v1
with:
esp_idf_version: v5.3
target: esp32
path: 'examples/esp_idf/cpp'
- name: Create empty certs/keys required by certificate_auth project
shell: bash
run: |
cd examples/esp_idf/certificate_auth
mkdir -p main/certs
cd main
touch certs/client.key.pem
touch certs/client.crt.pem
- name: Build ESP-IDF certificate_auth project
uses: espressif/esp-idf-ci-action@v1
with:
esp_idf_version: v5.3
target: esp32
path: 'examples/esp_idf/certificate_auth'
modus_toolbox_build:
runs-on: ubuntu-24.04
env:
MTB_VERSION: 3.3.0.16857
MTB_TOOLS_VERSION: 3.3
MTB_DOWNLOAD_ID: ${{ secrets.MTB_DOWNLOAD_ID }}
steps:
- name: Checkout repository and submodules
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.x
architecture: 'x64'
- name: Download and install ModusToolbox 3.3
shell: bash
run: |
pip install click gdown==5.1.0 cryptography==41.0.7 intelhex cbor
sudo apt update && sudo apt install -y \
libxcb-xinerama0 \
libxcb-icccm4 \
libxcb-image0 \
libxcb-keysyms1 \
libxcb-render-util0 \
libxkbcommon-x11-0 \
libopengl0 \
libegl1
gdown $MTB_DOWNLOAD_ID -O /tmp/modustoolbox_${MTB_VERSION}_Linux_x64.deb
sudo dpkg -i /tmp/modustoolbox_${MTB_VERSION}_Linux_x64.deb
rm /tmp/modustoolbox_${MTB_VERSION}_Linux_x64.deb
- name: Build MTB golioth_basics project
shell: bash
run: |
export CY_TOOLS_PATHS=/opt/Tools/ModusToolbox/tools_$MTB_TOOLS_VERSION
cd examples/modus_toolbox/golioth_basics/golioth_app
cp source/credentials.inc.template source/credentials.inc
make getlibs
make build -j$(nproc)