9c038cbff0
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>
30 lines
559 B
Nix
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
|
|
'';
|
|
}
|