From f97aaadd17b44d430a4acd9f4134c9ee25928670 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Thu, 10 Apr 2025 18:41:00 +0200 Subject: [PATCH] Update build script to automatize EdDSA builds. Signed-off-by: Pol Henarejos --- .github/workflows/nightly.yml | 2 +- build_pico_hsm.sh | 30 +++++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 6b2ed29..a51ecf4 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -24,7 +24,7 @@ jobs: PICO_SDK_PATH: ../pico-sdk run: | ./workflows/autobuild.sh pico - ./build_pico_hsm.sh + ./build_pico_hsm.sh --no-eddsa ./workflows/autobuild.sh esp32 - name: Update nightly release uses: pyTooling/Actions/releaser@main diff --git a/build_pico_hsm.sh b/build_pico_hsm.sh index f551af4..e60982a 100755 --- a/build_pico_hsm.sh +++ b/build_pico_hsm.sh @@ -2,22 +2,46 @@ VERSION_MAJOR="5" VERSION_MINOR="4" +NO_EDDSA=0 SUFFIX="${VERSION_MAJOR}.${VERSION_MINOR}" #if ! [[ -z "${GITHUB_SHA}" ]]; then # SUFFIX="${SUFFIX}.${GITHUB_SHA}" #fi -rm -rf release/* +if [[ $1 == "--no-eddsa" ]]; then + NO_EDDSA=1 + echo "Skipping EDDSA build" +fi + mkdir -p build_release mkdir -p release +mkdir -p release_eddsa +rm -rf -- release/* +if [[ $NO_EDDSA -eq 0 ]]; then + rm -rf -- release_eddsa/* +fi cd build_release + PICO_SDK_PATH="${PICO_SDK_PATH:-../../pico-sdk}" board_dir=${PICO_SDK_PATH}/src/boards/include/boards for board in "$board_dir"/* do - board_name="$(basename -- $board .h)" - rm -rf * + board_name="$(basename -- "$board" .h)" + rm -rf -- ./* PICO_SDK_PATH="${PICO_SDK_PATH}" cmake .. -DPICO_BOARD=$board_name -DSECURE_BOOT_PKEY=../../ec_private_key.pem make -j`nproc` mv pico_hsm.uf2 ../release/pico_hsm_$board_name-$SUFFIX.uf2 done + +# Build with EDDSA + +if [[ $NO_EDDSA -eq 0 ]]; then + for board in "$board_dir"/* + do + board_name="$(basename -- "$board" .h)" + rm -rf -- ./* + PICO_SDK_PATH="${PICO_SDK_PATH}" cmake .. -DPICO_BOARD=$board_name -DSECURE_BOOT_PKEY=../../ec_private_key.pem -DENABLE_EDDSA=1 + make -j`nproc` + mv pico_hsm.uf2 ../release/pico_hsm_$board_name-$SUFFIX-eddsa1.uf2 + done +fi