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

55 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
#
# Usage: release.sh [boardname]
# Example: release.sh lilygo-tdeck
# Description: Releases the current build labeled as a release for the specified board name.
#
echoNewPhase() {
echo -e "⏳ \e[36m${1}\e[0m"
}
fatalError() {
echo -e "⚠️ \e[31m${1}\e[0m"
exit 0
}
releaseSymbols() {
target_path=$1
echoNewPhase "Making symbols release at '$target_path'"
mkdir $target_path
cp build/*.elf $target_path/
}
release() {
target_path=$1
echoNewPhase "Making release at '$target_path'"
bin_path=$target_path/Binaries
mkdir -p $bin_path
mkdir -p $bin_path/partition_table
mkdir -p $bin_path/bootloader
cp build/*.bin $bin_path/
cp build/bootloader/*.bin $bin_path/bootloader/
cp build/partition_table/*.bin $bin_path/partition_table/
cp build/flash_args $bin_path/
cp build/flasher_args.json $bin_path/
cp Buildscripts/Flashing/* $target_path
}
board=$1
release_path=release
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
release "${release_path}/Tactility-${board}"
releaseSymbols "${release_path}/Tactility-${board}-symbols"