tvl-depot/ops/deploy-whitby/default.nix
Griffin Smith 9c038cbff0 feat(ops/deploy-whitby): Add the start of a script to deploy whitby
Add the beginnings of an auto-deploy script for whitby, intended to
be (eventually) suitable for running automatically in a systemd timer.
The current iteration of the script doesn't actually do any deploying,
but instead takes as an argument a revision, creates a new git worktree
in /tmp with that revision checked out, runs a nix-diff of whitby's
system derivation in the running system and at that closure, puts an
html-rendered version of that diff in the public directory used by
deploy.tvl.fyi, and finally sends a message to IRC via irccat with a
link to that HTML page.

Refs: b/110
Change-Id: Id40525567f8845590c909568befd8d00c07a481c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3145
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: kn <klemens@posteo.de>
2021-09-10 16:13:20 +00:00

30 lines
559 B
Nix

{ pkgs, ... }:
pkgs.stdenv.mkDerivation {
name = "deploy-whitby";
phases = [ "installPhase" "installCheckPhase" ];
nativeBuildInputs = with pkgs; [
makeWrapper
];
installPhase = ''
mkdir -p $out/bin
makeWrapper ${./deploy-whitby.sh} $out/bin/deploy-whitby.sh \
--prefix PATH : ${with pkgs; lib.makeBinPath [
nix-diff
ansi2html
git
]}
'';
installCheckInputs = with pkgs; [
shellcheck
];
doInstallCheck = true;
installCheckPhase = ''
shellcheck $out/bin/deploy-whitby.sh
'';
}