Skip to content

Software Build

Software Build #393

name: Software Build
on:
schedule:
- cron: '0 15 * * *' # 8AM Pacific; daily
workflow_dispatch:
push:
branches:
- main
paths:
- 'software/**'
- '.github/workflows/**'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup NimBLE
run: |
mkdir software/components
cd software/components
wget https://github.com/h2zero/esp-nimble-cpp/archive/refs/tags/1.3.1.zip
unzip *.zip
- name: Build
uses: espressif/esp-idf-ci-action@v1
with:
esp_idf_version: v4.4
path: 'software'
setup_and_build_mac:
runs-on: macos-latest
# TODO figure out why this fails and fix it
if: false
steps:
- name: Setup IDF
run: |
brew install cmake ninja dfu-util
mkdir -p ~/esp
cd ~/esp
git clone -b v4.4.2 --recursive https://github.com/espressif/esp-idf.git
cd ~/esp/esp-idf
./install.sh esp32 > install_logs
- uses: actions/checkout@v2
- name: Setup NimBLE
run: |
mkdir software/components
cd software/components
wget https://github.com/h2zero/esp-nimble-cpp/archive/refs/tags/1.3.1.zip
unzip *.zip
- name: Build
run: |
. $HOME/esp/esp-idf/export.sh
cd software
idf.py build
setup_and_build_linux:
runs-on: ubuntu-latest
steps:
- name: Setup IDF
run: |
sudo apt-get install git wget flex bison gperf python3 python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
mkdir -p ~/esp
cd ~/esp
git clone -b v4.4.2 --recursive https://github.com/espressif/esp-idf.git
cd ~/esp/esp-idf
./install.sh esp32 > install_logs
- uses: actions/checkout@v2
- name: Setup NimBLE
run: |
mkdir software/components
cd software/components
wget https://github.com/h2zero/esp-nimble-cpp/archive/refs/tags/1.3.1.zip
unzip *.zip
- name: Build
run: |
. $HOME/esp/esp-idf/export.sh
cd software
idf.py build
# # This job never completed - TODO figure out what went wrong
# build_win:
# runs-on: windows-latest
# steps:
# - name: Setup IDF
# shell: powershell
# run: |
# $Cwd = Get-Location
# $Path="$Cwd\esp-idf-tools-setup.exe"
# Invoke-WebRequest -URI https://dl.espressif.com/dl/idf-installer/esp-idf-tools-setup-online-2.16.exe -OutFile $Path
# & "$Path" /VERYSILENT /SUPPRESSMSGBOXES /SP- /NOCANCEL
# $InstallerProcess = Get-Process esp-idf-tools-setup
# Wait-Process -Id $InstallerProcess.id
# # TODO setup components
# - uses: actions/checkout@v2
# - name: Build
# shell: cmd
# run: |
# %userprofile%\Desktop\esp-idf\export.bat
# cd software
# idf.py build