From a7365ebd063733ffd3f4e188433531ceb8f6ec78 Mon Sep 17 00:00:00 2001 From: GroM Date: Tue, 13 Feb 2024 10:59:12 +0100 Subject: [PATCH 1/2] [Rust] Use cargo metadata and jq to get binary name when compiling Rust application --- .github/workflows/reusable_build.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable_build.yml b/.github/workflows/reusable_build.yml index 098e5bd..93a11ec 100644 --- a/.github/workflows/reusable_build.yml +++ b/.github/workflows/reusable_build.yml @@ -84,8 +84,11 @@ jobs: BIN_DIR_NAME="$(echo ${{ matrix.device }} | sed 's/nanosp/nanos2/')" && \ cd ${{ needs.call_get_app_metadata.outputs.build_directory }} && \ cargo ledger build ${BUILD_DEVICE_NAME} -- -Zunstable-options --out-dir=./build/${BIN_DIR_NAME}/bin/ && \ - APP_NAME=$(grep -E '^\s*name\s*=\s*' Cargo.toml | head -n 1 | awk -F'["]' '{print $2}') && \ - mv ./build/${BIN_DIR_NAME}/bin/${APP_NAME} ./build/${BIN_DIR_NAME}/bin/app.elf + echo "Build complete" && \ + APP_NAME=$(cargo metadata --format-version=1 --no-deps | jq -r '.packages[].name') && \ + echo "APP_NAME=${APP_NAME}" && \ + mv ./build/${BIN_DIR_NAME}/bin/${APP_NAME} ./build/${BIN_DIR_NAME}/bin/app.elf && \ + echo "Binary ./build/${BIN_DIR_NAME}/bin/${APP_NAME} copied as ./build/${BIN_DIR_NAME}/bin/app.elf" else eval "BOLOS_SDK=\$$(echo ${{ matrix.device }} | tr [:lower:] [:upper:])_SDK" && \ echo "BOLOS_SDK value will be: ${BOLOS_SDK}" && \ From c02752c04f0a26023135a91e24a015cd116ed651 Mon Sep 17 00:00:00 2001 From: GroM Date: Tue, 13 Feb 2024 15:39:49 +0100 Subject: [PATCH 2/2] Add -q option when invoking cargo metadata --- .github/workflows/reusable_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable_build.yml b/.github/workflows/reusable_build.yml index 93a11ec..0a1cda0 100644 --- a/.github/workflows/reusable_build.yml +++ b/.github/workflows/reusable_build.yml @@ -85,7 +85,7 @@ jobs: cd ${{ needs.call_get_app_metadata.outputs.build_directory }} && \ cargo ledger build ${BUILD_DEVICE_NAME} -- -Zunstable-options --out-dir=./build/${BIN_DIR_NAME}/bin/ && \ echo "Build complete" && \ - APP_NAME=$(cargo metadata --format-version=1 --no-deps | jq -r '.packages[].name') && \ + APP_NAME=$(cargo metadata --format-version=1 --no-deps -q | jq -r '.packages[].name') && \ echo "APP_NAME=${APP_NAME}" && \ mv ./build/${BIN_DIR_NAME}/bin/${APP_NAME} ./build/${BIN_DIR_NAME}/bin/app.elf && \ echo "Binary ./build/${BIN_DIR_NAME}/bin/${APP_NAME} copied as ./build/${BIN_DIR_NAME}/bin/app.elf"