diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix b/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix index ab92c29ee3dc..7b5779b958d2 100644 --- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix +++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix @@ -20,6 +20,7 @@ ourNodePackages."${packageName}".override { ''; passthru.tests.matrix-appservice-irc = nixosTests.matrix-appservice-irc; + passthru.updateScript = ./update.sh; meta = with lib; { description = "Node.js IRC bridge for Matrix"; diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh b/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh new file mode 100755 index 000000000000..f6cf0c029765 --- /dev/null +++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p nodePackages.node2nix nodejs-12_x curl jq + +set -euo pipefail +# cd to the folder containing this script +cd "$(dirname "$0")" + +CURRENT_VERSION=$(nix eval --raw '(with import ../../../../. {}; matrix-appservice-irc.version)') +TARGET_VERSION="$(curl https://api.github.com/repos/matrix-org/matrix-appservice-irc/releases/latest | jq -r ".tag_name")" + +if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" ]]; then + echo "matrix-appservice-irc is up-to-date: ${CURRENT_VERSION}" + exit 0 +fi + +echo "matrix-appservice-irc: $CURRENT_VERSION -> $TARGET_VERSION" + +sed -i "s/#$CURRENT_VERSION/#$TARGET_VERSION/" package.json + +./generate-dependencies.sh + +# Apparently this is done by r-ryantm, so only uncomment for manual usage +#git add ./package.json ./node-packages.nix +#git commit -m "matrix-appservice-irc: ${CURRENT_VERSION} -> ${TARGET_VERSION}"