Skip to content

Commit 522dffd

Browse files
committed
ci: allow ci_flash to run on local development envs
1 parent 3fe8cf3 commit 522dffd

File tree

1 file changed

+23
-5
lines changed

1 file changed

+23
-5
lines changed

ci_flash.sh

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ if [[ -z ${JADESERIALPORT} ]]; then
55
echo "Serial port \"${JADESERIALPORT}\" isn't valid, using defaults"
66
if [ "$(uname)" == "Darwin" ]; then
77
JADESERIALPORT=/dev/cu.SLAB_USBtoUART
8-
else
8+
elif [ -c /dev/ttyUSB0 ]; then
99
JADESERIALPORT=/dev/ttyUSB0
10+
else
11+
JADESERIALPORT=/dev/ttyACM0
1012
fi
1113
echo "Serial port set to default \"${JADESERIALPORT}\""
1214
fi
@@ -56,21 +58,37 @@ if fgrep -qs "CONFIG_APPTRACE_GCOV_ENABLE=y" ${BUILD_DIR}/sdkconfig sdkconfig; t
5658
fi
5759
fi
5860

59-
source ~/venv3/bin/activate
60-
61+
if [ -r ~/venv3/bin/activate ]; then
62+
# Assume we are running under the CI: pinserver requirements are already installed
63+
source ~/venv3/bin/activate
64+
else
65+
# Install and activate a local venv
66+
if [ ! -r ./venv3/bin/activate ]; then
67+
virtualenv -p python3 venv3
68+
fi
69+
source ./venv3/bin/activate
70+
pip install -r pinserver/requirements.txt
71+
fi
6172
pip install --require-hashes -r requirements.txt
6273

6374
# NOTE: tools/fwprep.py should have run in the build step and produced the compressed firmware file
75+
SKIP_ARGS=""
76+
if [ ! -x /usr/bin/bt-agent ]; then
77+
echo "bt-agent not available, skipping bluetooth OTA"
78+
SKIP_ARGS=" --skipble"
79+
fi
6480
FW_FULL=$(ls ${BUILD_DIR}/*_fw.bin)
65-
python jade_ota.py --push-mnemonic --log=INFO --serialport=${JADESERIALPORT} --fwfile=${FW_FULL}
81+
python jade_ota.py --push-mnemonic --log=INFO --serialport=${JADESERIALPORT} --fwfile=${FW_FULL}${SKIP_ARGS}
6682

6783
sleep 5
6884
python -c "from jadepy import JadeAPI; jade = JadeAPI.create_serial(device=\"${JADESERIALPORT}\", timeout=5) ; jade.connect(); jade.drain(); jade.disconnect()"
6985

70-
python test_jade.py --log=INFO --serialport=${JADESERIALPORT}
86+
python test_jade.py --log=INFO --serialport=${JADESERIALPORT}${SKIP_ARGS}
7187

7288
# check if gcov is enabled and run collection tool
7389
if fgrep -qs "CONFIG_APPTRACE_GCOV_ENABLE=y" ${BUILD_DIR}/sdkconfig sdkconfig; then
7490
./tools/gcov/generate_report.sh
7591
killall -9 openocd || true
7692
fi
93+
94+
deactivate

0 commit comments

Comments
 (0)