summary refs log tree commit diff
path: root/pkgs/servers/home-assistant
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@thalheim.io>2020-06-20 12:17:07 +0100
committerJörg Thalheim <joerg@thalheim.io>2020-06-21 10:58:23 +0100
commit8dd2327bbd120ed68f37778a6e5b1ed7aedd81ff (patch)
treed8a782860d0067b5b49888235e2ccdf3c90ddb09 /pkgs/servers/home-assistant
parentd248e8a13b08a7e56194bf47ed781afa2dddcecf (diff)
downloadnixpkgs-8dd2327bbd120ed68f37778a6e5b1ed7aedd81ff.tar
nixpkgs-8dd2327bbd120ed68f37778a6e5b1ed7aedd81ff.tar.gz
nixpkgs-8dd2327bbd120ed68f37778a6e5b1ed7aedd81ff.tar.bz2
nixpkgs-8dd2327bbd120ed68f37778a6e5b1ed7aedd81ff.tar.lz
nixpkgs-8dd2327bbd120ed68f37778a6e5b1ed7aedd81ff.tar.xz
nixpkgs-8dd2327bbd120ed68f37778a6e5b1ed7aedd81ff.tar.zst
nixpkgs-8dd2327bbd120ed68f37778a6e5b1ed7aedd81ff.zip
home-assistant: add update script
Diffstat (limited to 'pkgs/servers/home-assistant')
-rwxr-xr-xpkgs/servers/home-assistant/update.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/servers/home-assistant/update.sh b/pkgs/servers/home-assistant/update.sh
new file mode 100755
index 00000000000..11189cf3577
--- /dev/null
+++ b/pkgs/servers/home-assistant/update.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -p nix -p jq -p curl -p bash -p git -p nix-update -i bash
+
+set -eux
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+cd "$DIR"
+
+CURRENT_VERSION=$(nix eval --raw '(with import ../../.. {}; home-assistant.version)')
+TARGET_VERSION=$(curl https://api.github.com/repos/home-assistant/core/releases/latest | jq -r '.name')
+MANIFEST=$(curl https://raw.githubusercontent.com/home-assistant/core/${TARGET_VERSION}/homeassistant/components/frontend/manifest.json)
+FRONTEND_VERSION=$(echo $MANIFEST | jq -r '.requirements[] | select(startswith("home-assistant-frontend")) | sub(".*==(?<vers>.*)"; .vers)')
+
+if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" ]]; then
+    echo "home-assistant is up-to-date: ${CURRENT_VERSION}"
+    exit 0
+fi
+
+
+sed -i -e "s/version =.*/version = \"${TARGET_VERSION}\";/" \
+    component-packages.nix
+
+sed -i -e "s/hassVersion =.*/hassVersion = \"${TARGET_VERSION}\";/" \
+    default.nix
+
+./parse-requirements.py
+(
+    cd ../../..
+    nix-update --version "$FRONTEND_VERSION" home-assistant.hass-frontend
+    nix-update --version "$TARGET_VERSION" --build home-assistant
+)
+
+git add ./component-packages.nix ./default.nix ./frontend.nix
+git commit -m "homeassistant: ${CURRENT_VERSION} -> ${TARGET_VERSION}"