summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rwxr-xr-xutil/docker_cmd.sh59
-rwxr-xr-xutil/update_chibios_mirror.sh8
2 files changed, 63 insertions, 4 deletions
diff --git a/util/docker_cmd.sh b/util/docker_cmd.sh
new file mode 100755
index 0000000000..2ea113d24a
--- /dev/null
+++ b/util/docker_cmd.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+# NOTE: This script uses tabs for indentation
+
+errcho() {
+ echo "$@" >&2
+}
+
+USAGE="Usage: $0 <command>"
+
+# Check preconditions
+for arg; do
+ if [ "$arg" = "--help" ]; then
+ echo "$USAGE"
+ exit 0
+ fi
+done
+
+# Allow $RUNTIME to be overriden by the user as an environment variable
+# Else check if either docker or podman exit and set them as runtime
+# if none are found error out
+if [ -z "$RUNTIME" ]; then
+ if command -v docker >/dev/null 2>&1; then
+ RUNTIME="docker"
+ elif command -v podman >/dev/null 2>&1; then
+ RUNTIME="podman"
+ else
+ errcho "Error: no compatible container runtime found."
+ errcho "Either podman or docker are required."
+ errcho "See https://podman.io/getting-started/installation"
+ errcho "or https://docs.docker.com/install/#supported-platforms"
+ errcho "for installation instructions."
+ exit 2
+ fi
+fi
+
+
+# IF we are using docker on non Linux and docker-machine isn't working print an error
+# ELSE set usb_args
+if [ ! "$(uname)" = "Linux" ] && [ "$RUNTIME" = "docker" ] && ! docker-machine active >/dev/null 2>&1; then
+ errcho "Error: target requires docker-machine to work on your platform"
+ errcho "See http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos"
+ exit 3
+else
+ usb_args="--privileged -v /dev:/dev"
+fi
+dir=$(pwd -W 2>/dev/null) || dir=$PWD # Use Windows path if on Windows
+
+if [ "$RUNTIME" = "docker" ]; then
+ uid_arg="--user $(id -u):$(id -g)"
+fi
+
+# Run container and build firmware
+"$RUNTIME" run --rm -it \
+ $usb_args \
+ $uid_arg \
+ -w /qmk_firmware \
+ -v "$dir":/qmk_firmware \
+ qmkfm/qmk_cli \
+ "$@"
diff --git a/util/update_chibios_mirror.sh b/util/update_chibios_mirror.sh
index 0bf648ebfd..e6666c55c9 100755
--- a/util/update_chibios_mirror.sh
+++ b/util/update_chibios_mirror.sh
@@ -4,13 +4,13 @@
# Configuration
# The ChibiOS branches to mirror
-chibios_branches="trunk stable_20.3.x stable_21.6.x"
+chibios_branches="trunk stable_20.3.x stable_21.11.x"
# The ChibiOS tags to mirror
-chibios_tags="ver20.3.1 ver20.3.2 ver20.3.3 ver20.3.4 ver21.6.0"
+chibios_tags="ver20.3.1 ver20.3.2 ver20.3.3 ver20.3.4 ver21.11.1"
# The ChibiOS-Contrib branches to mirror
-contrib_branches="chibios-20.3.x chibios-21.6.x"
+contrib_branches="chibios-20.3.x chibios-21.11.x"
################################
# Actions
@@ -88,5 +88,5 @@ echo "Updating ChibiOS-Contrib branches..."
for branch in $contrib_branches ; do
echo "Creating branch 'mirror/$branch' from 'upstream/$branch'..."
git branch -f mirror/$branch upstream/$branch \
- && git push qmk mirror/$branch
+ && git push qmk mirror/$branch || true # Allow for nonexistent ChibiOS-Contrib branches -- they'll turn up eventually.
done