zigbee2mqtt: improve update script

This commit is contained in:
Martin Weinelt 2021-11-29 02:11:27 +01:00
parent e267ff0f39
commit 3507c87774
No known key found for this signature in database
GPG Key ID: 87C1E9888F856759

View File

@ -1,30 +1,31 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nodePackages.node2nix nodejs-12_x curl jq nix-update
#! nix-shell -I nixpkgs=../../.. -i bash -p nodePackages.node2nix curl jq nix-update common-updater-scripts
CURRENT_VERSION=$(nix eval --raw '(with import ../../.. {}; zigbee2mqtt.version)')
TARGET_VERSION=$(curl https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | jq -r ".tag_name")
ZIGBEE2MQTT=https://github.com/Koenkk/zigbee2mqtt/raw/$TARGET_VERSION
set -euo pipefail
CURRENT_VERSION=$(nix eval -f ../../.. --raw zigbee2mqtt.version)
TARGET_VERSION="$(curl https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | jq -r ".tag_name")"
if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" ]]; then
echo "zigbee2mqtt is up-to-date: ${CURRENT_VERSION}"
exit 0
fi
ZIGBEE2MQTT=https://github.com/Koenkk/zigbee2mqtt/raw/$TARGET_VERSION
curl -LO $ZIGBEE2MQTT/package.json
curl -LO $ZIGBEE2MQTT/npm-shrinkwrap.json
node2nix --nodejs-12 \
-l npm-shrinkwrap.json \
-c node.nix \
--bypass-cache \
node2nix \
--composition node.nix \
--lock npm-shrinkwrap.json \
--no-copy-node-env \
--node-env ../../development/node-packages/node-env.nix
--node-env ../../development/node-packages/node-env.nix \
--nodejs-14 \
--output node-packages.nix
rm package.json npm-shrinkwrap.json
{
cd ../../..
nix-update --version "$TARGET_VERSION" --build zigbee2mqtt
}
git add ./default.nix ./node-packages.nix ./node.nix
git commit -m "zigbee2mqtt: ${CURRENT_VERSION} -> ${TARGET_VERSION}"
(
cd ../../../
update-source-version zigbee2mqtt "$TARGET_VERSION"
)