More flexible build routine
This commit is contained in:
parent
c07fe00213
commit
8e5ebef8c3
2 changed files with 142 additions and 40 deletions
|
@ -1,25 +1,57 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
HOST_ZMK_DIR="$HOME/zmk"
|
||||
DOCKER_ZMK_DIR="/workspace/zmk"
|
||||
# Parse input arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
# needed when user isn't in docker group
|
||||
-s|--sudu)
|
||||
SUDO="sudo"
|
||||
;;
|
||||
|
||||
DOCKER_VERSION="zmkfirmware/zmk-dev-arm:3.0"
|
||||
-v|--version)
|
||||
WEST_VERSION="$2"
|
||||
shift
|
||||
;;
|
||||
|
||||
DOCKER_SUDO="sudo" # leave empty if user is in docker group
|
||||
DOCKER_CMD="$DOCKER_SUDO docker run --name zmk --rm \
|
||||
--host-zmk-dir)
|
||||
HOST_ZMK_DIR="$2"
|
||||
shift
|
||||
;;
|
||||
|
||||
--docker-zmk-dir)
|
||||
DOCKER_ZMK_DIR="$2"
|
||||
shift
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown option $1"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Set defaults
|
||||
[[ -z $WEST_VERSION ]] && WEST_VERSION="3.0"
|
||||
[[ -z $HOST_ZMK_DIR ]] && HOST_ZMK_DIR="$HOME/zmk"
|
||||
[[ -z $DOCKER_ZMK_DIR ]] && DOCKER_ZMK_DIR="/workspace/zmk"
|
||||
|
||||
DOCKER_IMG="zmkfirmware/zmk-dev-arm:$WEST_VERSION"
|
||||
DOCKER_CMD="$SUDO docker run --name zmk-$WEST_VERSION --rm \
|
||||
--mount type=bind,source=$HOST_ZMK_DIR,target=$DOCKER_ZMK_DIR \
|
||||
--mount type=volume,source=zmk-root-user,target=/root \
|
||||
--mount type=volume,source=zmk-zephyr,target=$DOCKER_ZMK_DIR/zephyr \
|
||||
--mount type=volume,source=zmk-zephyr-modules,target=$DOCKER_ZMK_DIR/modules \
|
||||
--mount type=volume,source=zmk-zephyr-tools,target=$DOCKER_ZMK_DIR/tools"
|
||||
--mount type=volume,source=zmk-root-user-$WEST_VERSION,target=/root \
|
||||
--mount type=volume,source=zmk-zephyr-$WEST_VERSION,target=$DOCKER_ZMK_DIR/zephyr \
|
||||
--mount type=volume,source=zmk-zephyr-modules-$WEST_VERSION,target=$DOCKER_ZMK_DIR/modules \
|
||||
--mount type=volume,source=zmk-zephyr-tools-$WEST_VERSION,target=$DOCKER_ZMK_DIR/tools"
|
||||
|
||||
# Reset volumes
|
||||
$DOCKER_SUDO docker volume rm $(sudo docker volume ls -q | grep zmk-)
|
||||
$SUDO docker volume rm $(sudo docker volume ls -q | grep "^zmk-.*-$WEST_VERSION$")
|
||||
|
||||
# Install west
|
||||
$DOCKER_CMD -w "$DOCKER_ZMK_DIR" "$DOCKER_VERSION" west init -l app/
|
||||
$DOCKER_CMD -w "$DOCKER_ZMK_DIR" "$DOCKER_VERSION" west update
|
||||
$DOCKER_CMD -w "$DOCKER_ZMK_DIR" "$DOCKER_IMG" west init -l app/
|
||||
$DOCKER_CMD -w "$DOCKER_ZMK_DIR" "$DOCKER_IMG" west update
|
||||
|
||||
# Install docosaurus
|
||||
$DOCKER_CMD -w "$DOCKER_ZMK_DIR/docs" "$DOCKER_VERSION" npm ci
|
||||
$DOCKER_CMD -w "$DOCKER_ZMK_DIR/docs" "$DOCKER_IMG" npm ci
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue