#!/usr/bin/env janet (use sh) (def user "fnurk") (def host "samuelw.dev") (def bin-dir "/opt/tinygram/") (def asset-dir "/srv/tinygram/") (def service-dir "/etc/systemd/system/") (def ssh-target (string user "@" host)) (def bin-target (string ssh-target ":" bin-dir)) (def asset-target (string ssh-target ":" asset-dir)) (def service-target (string ssh-target ":" service-dir)) (def rsync-path ["--rsync-path" "sudo -u tinygram rsync"]) (def rsync-path-sudo ["--rsync-path" "sudo rsync"]) (def rsync-bin-args [;rsync-path "tinygram" bin-target]) (def rsync-asset-args [;rsync-path "-r" "assets" asset-target]) (def rsync-service-args [;rsync-path-sudo "service/tinygram.service" service-target]) (def rsync-service [;rsync-path "-r" "assets" asset-target]) (print "-- building templ --") ($ templ generate) (print "-- building go --") ($ go build ".") (print "-- syncing binary --") ($ rsync ;rsync-bin-args) (print "-- syncing assets --") ($ rsync ;rsync-asset-args) (print "-- syncing service --") ($ rsync ;rsync-service-args) (print "-- cleaning up binary --") ($ rm "tinygram") (print "-- restarting service --") ($ ssh ,ssh-target "sudo systemctl daemon-reload") ($ ssh ,ssh-target "sudo systemctl restart tinygram.service") (print "done!")