Skip to content

Commit 6d4386d

Browse files
Merge pull request #119 from LedgerHQ/cev/check_on_all_targets
Add loop to run check on all targets
2 parents 22b518a + a33d406 commit 6d4386d

File tree

1 file changed

+42
-9
lines changed

1 file changed

+42
-9
lines changed

scripts/check_all.sh

Lines changed: 42 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ fi
8787
if [[ "${REQUESTED_CHECK}" != app_load_params ]]; then
8888
# Check if APP_DIR is given in parameter
8989
[[ -z "${APP_DIR}" ]] && help "Missing mandatory parameter 'Application directory'!"
90-
# Check if REPO_NAME is given in parameter
90+
# Determine REPO_NAME
9191
REPO_NAME=$(basename "$(git -C "${APP_DIR}" remote get-url origin)")
9292
REPO_NAME=${REPO_NAME%%.*}
9393
fi
@@ -135,17 +135,23 @@ fi
135135
#===============================================================================
136136
BG_TITLE="\e[48;6;3;1;44m"
137137
FG_TITLE="\e[38;5;44m"
138+
FG_BOLD="\e[${BOLD}m"
138139

139140
(( STEP=1 ))
140141
log_step() {
141142
echo
142-
_log_colored_line "$BG_WARNING" "[STEP ${STEP}]: " "$FG_WARNING" "$1"
143+
_log_colored_line "${BG_WARNING}" "[STEP ${STEP}]: " "${FG_WARNING}" "$1"
143144
(( STEP++ ))
144145
}
145146

146147
log_title() {
147148
echo
148-
_log_colored_line "$BG_TITLE" "Starting: " "$FG_TITLE" "$1"
149+
_log_colored_line "${BG_TITLE}" "Starting: " "${FG_TITLE}" "$1"
150+
}
151+
152+
log_bold () {
153+
local msg="$1"
154+
echo -e "${FG_BOLD}${msg}${COLOR_OFF}"
149155
}
150156

151157
#===============================================================================
@@ -160,6 +166,7 @@ call_step() {
160166
case ${step} in
161167
"manifest")
162168
if [[ -n ${MANIFEST_FILE} ]]; then
169+
log_bold "********* Processing target: ${TARGET}"
163170
eval BOLOS_SDK="$(echo "\$${TARGET}" | tr '[:lower:]' '[:upper:]')_SDK"
164171
if [[ "${IS_RUST}" == true ]]; then
165172
COMMAND="(cd ${APP_DIR} && python3 ${dirName}/cargo_metadata_dump.py --device ${TARGET} --app_build_path ${BUILD_DIR} --json_path ${MANIFEST_FILE})"
@@ -168,9 +175,9 @@ call_step() {
168175
fi
169176
else
170177
log_step "Get ${step} (All targets)"
171-
ALL_TARGETS=$(ledger-manifest --output-devices ledger_app.toml | tail -n +2 | awk -F" " '{print $2}' | sed 's/+/p/' )
178+
ALL_TARGETS=$(ledger-manifest --output-devices ledger_app.toml | tail -n +2 | awk -F" " '{print $2}' | sed 's/+/p/')
172179
for tgt in ${ALL_TARGETS}; do
173-
echo "Processing target: ${tgt}"
180+
log_bold "********* Processing target: ${tgt}"
174181
eval BOLOS_SDK="$(echo "\$${tgt}" | tr '[:lower:]' '[:upper:]')_SDK"
175182
if [[ "${IS_RUST}" == true ]]; then
176183
COMMAND="(cd ${APP_DIR} && python3 ${dirName}/cargo_metadata_dump.py --device ${tgt} --app_build_path ${BUILD_DIR} --json_path ${MANIFEST_DIR}/manifest_${tgt}.json)"
@@ -181,7 +188,7 @@ call_step() {
181188
eval "${COMMAND}"
182189
err=$?
183190
if [[ ${err} -ne 0 ]]; then
184-
log_error "Check ${step} failed"
191+
log_error "Check ${step} failed for target ${tgt}"
185192
echo -n "|:x:" >> "${FILE_STATUS}"
186193
exit 1
187194
fi
@@ -203,10 +210,36 @@ call_step() {
203210
COMMAND="${dirName}/check_readme.sh ${APP_DIR} ${REPO_NAME}"
204211
;;
205212
"scan")
206-
if [[ "${IS_RUST}" == true ]]; then
207-
COMMAND="(cd ${APP_DIR}/${BUILD_DIR} && cargo +$RUST_NIGHTLY clippy --target ${TARGET/nanosp/nanosplus} -- -Dwarnings)"
213+
if [[ -n ${TARGET} ]]; then
214+
log_bold "********* Processing target: ${TARGET}"
215+
eval BOLOS_SDK="$(echo "\$${TARGET}" | tr '[:lower:]' '[:upper:]')_SDK"
216+
if [[ "${IS_RUST}" == true ]]; then
217+
COMMAND="(cd ${APP_DIR}/${BUILD_DIR} && cargo +$RUST_NIGHTLY clippy --target ${TARGET/nanosp/nanosplus} -- -Dwarnings)"
218+
else
219+
COMMAND="make ${make_option[*]} ENABLE_SDK_WERROR=1 scan-build"
220+
fi
208221
else
209-
COMMAND="make ${make_option[*]} ENABLE_SDK_WERROR=1 scan-build"
222+
log_step "Check ${step} (All targets)"
223+
ALL_TARGETS=$(ledger-manifest --output-devices ledger_app.toml | tail -n +2 | awk -F" " '{print $2}' | sed 's/+/p/')
224+
for tgt in ${ALL_TARGETS}; do
225+
log_bold "********* Processing target: ${tgt}"
226+
eval BOLOS_SDK="$(echo "\$${tgt}" | tr '[:lower:]' '[:upper:]')_SDK"
227+
if [[ "${IS_RUST}" == true ]]; then
228+
COMMAND="(cd ${APP_DIR}/${BUILD_DIR} && cargo +$RUST_NIGHTLY clippy --target ${TARGET/nanosp/nanosplus} -- -Dwarnings)"
229+
else
230+
COMMAND="make ${make_option[*]} ENABLE_SDK_WERROR=1 scan-build"
231+
fi
232+
[[ "${VERBOSE}" == true ]] && echo "Running: ${COMMAND}"
233+
eval "${COMMAND}"
234+
err=$?
235+
if [[ ${err} -ne 0 ]]; then
236+
log_error "Check ${step} failed for target ${tgt}"
237+
echo -n "|:x:" >> "${FILE_STATUS}"
238+
return
239+
fi
240+
done
241+
echo -n "|:white_check_mark:" >> "${FILE_STATUS}"
242+
return
210243
fi
211244
;;
212245
* ) echo "Unimplemented step: ${step}" >&2; exit 1;;

0 commit comments

Comments
 (0)