Ken Van Hoeylandt f664de898d
Improved build scripting and CI (#123)
- Simplified board ids/naming in all build scripting
- Implemented archiving of build artifacts for all devices in pipelines (including symbols releases for debugging)
- Implemented building and archiving of SDK for esp32 and esp32s3 in pipelines
- Flattened SDK release folder structure
- Renamed "Tactility-(ARCH)-SDK" to "TactilitySDK-(ARCH)" (aligns with "default" folder name, that's without the (ARCH))
2024-12-14 22:51:47 +01:00

39 lines
690 B
Bash
Executable File

#!/bin/bash
#
# Usage: build.sh [boardname]
# Example: build.sh lilygo-tdeck
# Description: Makes a clean build for the specified board.
#
echoNewPhase() {
echo -e "⏳ \e[36m${1}\e[0m"
}
fatalError() {
echo -e "⚠️ \e[31m${1}\e[0m"
exit 0
}
sdkconfig_file="sdkconfig.board.${1}"
if [ $# -lt 1 ]; then
fatalError "Must pass board name as first argument. (e.g. lilygo_tdeck)"
fi
if [ ! -f $sdkconfig_file ]; then
fatalError "Board not found: ${sdkconfig_file}"
fi
echoNewPhase "Cleaning build folder"
rm -rf build
echoNewPhase "Building $sdkconfig_file"
cp $sdkconfig_file sdkconfig
if not idf.py build; then
fatalError "Failed to build esp32s3 SDK"
fi