Alex Perry | fe4b826 | 2019-03-20 19:49:46 -0700 | [diff] [blame] | 1 | #!/bin/bash |
Austin Schuh | 0739a0c | 2019-03-03 17:16:46 -0800 | [diff] [blame] | 2 | set -e |
| 3 | |
Alex Perry | fe4b826 | 2019-03-20 19:49:46 -0700 | [diff] [blame] | 4 | BRANCH=$(git rev-parse --symbolic-full-name --abbrev-ref HEAD) |
| 5 | if [[ "$BRANCH" != "master" ]]; then |
| 6 | read -p "Not on master, deploy anyway (y/n) " ANSWER |
| 7 | if [[ $ANSWER =~ ^[Yy]$ ]]; then |
| 8 | echo "Master check overridden, deploying anyway" |
| 9 | else |
| 10 | echo "Cancelling deploy" |
| 11 | exit 1 |
| 12 | fi |
| 13 | else |
| 14 | echo "On master, deploying" |
| 15 | fi |
| 16 | |
Alex Perry | 3a69673 | 2019-03-02 22:30:31 -0800 | [diff] [blame] | 17 | echo "Building executables" |
| 18 | readonly BAZEL_OPTIONS="-c opt --cpu=armhf-debian" |
| 19 | readonly BAZEL_BIN="$(bazel info ${BAZEL_OPTIONS} bazel-bin)" |
Austin Schuh | 3a043cd | 2019-03-03 16:42:22 -0800 | [diff] [blame] | 20 | readonly TARGET_DIR=/media/$USER/JEVOIS |
Alex Perry | 3a69673 | 2019-03-02 22:30:31 -0800 | [diff] [blame] | 21 | |
| 22 | bazel build ${BAZEL_OPTIONS} \ |
| 23 | //y2019/vision:target_sender \ |
| 24 | //y2019/vision:serial_waiter |
| 25 | |
Austin Schuh | e06d604 | 2019-03-23 16:33:00 -0700 | [diff] [blame] | 26 | JEVOIS_DEV="/dev/null" |
| 27 | for dev in /dev/ttyACM*; do |
| 28 | if udevadm info -a -n "${dev}" | grep "JeVois-A33 Smart Camera" -q; |
| 29 | then |
| 30 | JEVOIS_DEV="${dev}" |
| 31 | fi |
| 32 | done |
| 33 | |
| 34 | if [[ "${JEVOIS_DEV}" == "/dev/null" ]]; |
| 35 | then |
| 36 | echo "Can't find jevois" |
| 37 | exit 1; |
| 38 | fi; |
| 39 | |
| 40 | if ! mount | grep "${TARGET_DIR}" -q |
Ben Fredrickson | a8c3d55 | 2019-03-03 14:14:53 -0800 | [diff] [blame] | 41 | then |
Austin Schuh | 3a043cd | 2019-03-03 16:42:22 -0800 | [diff] [blame] | 42 | echo "Mount jevois at ${TARGET_DIR} ..." |
Austin Schuh | e06d604 | 2019-03-23 16:33:00 -0700 | [diff] [blame] | 43 | ./jevois-cmd -d "${JEVOIS_DEV}" usbsd |
| 44 | fi |
| 45 | |
| 46 | sleep 5 |
| 47 | |
| 48 | if udevadm info -a -n /dev/sda | grep JeVois -q; |
| 49 | then |
| 50 | echo "Jevois at /dev/sda" |
| 51 | fi |
| 52 | |
| 53 | if ! mount | grep "${TARGET_DIR}" -q |
| 54 | then |
| 55 | sudo mkdir -p "${TARGET_DIR}" |
| 56 | |
| 57 | sudo mount /dev/sda "${TARGET_DIR}" |
Ben Fredrickson | a8c3d55 | 2019-03-03 14:14:53 -0800 | [diff] [blame] | 58 | fi |
Parker Schuh | 46b4881 | 2019-02-22 20:45:36 -0800 | [diff] [blame] | 59 | |
| 60 | echo "Waiting for fs ..." |
Austin Schuh | 3a043cd | 2019-03-03 16:42:22 -0800 | [diff] [blame] | 61 | while [ ! -d "${TARGET_DIR}" ] |
Parker Schuh | 46b4881 | 2019-02-22 20:45:36 -0800 | [diff] [blame] | 62 | do |
| 63 | sleep 1 |
| 64 | done |
| 65 | echo "OK" |
| 66 | |
| 67 | echo "Copying files ..." |
Austin Schuh | aa4500e | 2019-03-23 18:07:04 -0700 | [diff] [blame] | 68 | sudo cp ./austin_cam.sh "${TARGET_DIR}"/ |
| 69 | sudo cp ./launch.sh "${TARGET_DIR}"/deploy/ |
Alex Perry | 3a69673 | 2019-03-02 22:30:31 -0800 | [diff] [blame] | 70 | |
Austin Schuh | a6b5097 | 2019-03-23 18:38:27 -0700 | [diff] [blame] | 71 | (echo "git log"; git log -1; echo "git status"; git status) > /tmp/jevois_deploy_version |
| 72 | |
| 73 | sudo cp /tmp/jevois_deploy_version "${TARGET_DIR}"/version |
| 74 | |
Austin Schuh | aa4500e | 2019-03-23 18:07:04 -0700 | [diff] [blame] | 75 | sudo cp "${BAZEL_BIN}/y2019/vision/target_sender" \ |
Alex Perry | 3a69673 | 2019-03-02 22:30:31 -0800 | [diff] [blame] | 76 | "${BAZEL_BIN}/y2019/vision/serial_waiter" \ |
Austin Schuh | 3a043cd | 2019-03-03 16:42:22 -0800 | [diff] [blame] | 77 | "${TARGET_DIR}"/deploy/ |
Parker Schuh | 46b4881 | 2019-02-22 20:45:36 -0800 | [diff] [blame] | 78 | |
| 79 | echo "Unmount sd card ..." |
Austin Schuh | e06d604 | 2019-03-23 16:33:00 -0700 | [diff] [blame] | 80 | sudo umount "${TARGET_DIR}" |
Parker Schuh | 46b4881 | 2019-02-22 20:45:36 -0800 | [diff] [blame] | 81 | echo "OK" |
| 82 | |
| 83 | echo "Rebooting Jevois." |
Austin Schuh | e06d604 | 2019-03-23 16:33:00 -0700 | [diff] [blame] | 84 | ./jevois-cmd -d "${JEVOIS_DEV}" restart |