From 2cbea57c86bdae858fd2c4b552223bdcdcbd49bd Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Thu, 10 Apr 2025 18:37:09 +0200 Subject: [PATCH] Update build script to automatize EdDSA builds. Signed-off-by: Pol Henarejos --- .github/workflows/nightly.yml | 2 +- build_pico_fido.sh | 30 +++++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 7e9dbb8..12b874b 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_fido.sh + ./build_pico_fido.sh --no-eddsa ./workflows/autobuild.sh esp32 - name: Update nightly release uses: pyTooling/Actions/releaser@main diff --git a/build_pico_fido.sh b/build_pico_fido.sh index 8f067f6..7de745d 100755 --- a/build_pico_fido.sh +++ b/build_pico_fido.sh @@ -2,22 +2,46 @@ VERSION_MAJOR="6" 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_fido.uf2 ../release/pico_fido_$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_fido.uf2 ../release/pico_fido_$board_name-$SUFFIX-eddsa1.uf2 + done +fi