about summary refs log tree commit diff
path: root/ci/pipelines/post-receive.nix
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-08-31T00·16+0100
committerWilliam Carroll <wpcarro@gmail.com>2020-08-31T00·16+0100
commite166e74c2c9c5ad111d4f0050f1ccf1de9ce0d21 (patch)
tree4a4cde6512c254b62bdd88e23e6e7833af87a73c /ci/pipelines/post-receive.nix
parent8f46684c234db9ee27136dafe57d77aa27df0c25 (diff)
Allow configurable BRIEFCASE env var for CI
These were hard-coded as $HOME/BRIEFCASE, which won't work in CI, since CI runs
as the user buildkite-agent-socrates, whose $HOME directory doesn't exist.
Diffstat (limited to 'ci/pipelines/post-receive.nix')
-rw-r--r--ci/pipelines/post-receive.nix33
1 files changed, 21 insertions, 12 deletions
diff --git a/ci/pipelines/post-receive.nix b/ci/pipelines/post-receive.nix
index a9c35e1f7d5f..ad7281d99b8e 100644
--- a/ci/pipelines/post-receive.nix
+++ b/ci/pipelines/post-receive.nix
@@ -1,16 +1,14 @@
 { briefcase, pkgs, ... }:
 
 let
-  elispLintSrc = builtins.fetchGit {
+  inherit (builtins) fetchGit path toJSON;
+  inherit (briefcase.emacs) initEl runScript;
+
+  elispLintSrc = fetchGit {
     url = "https://github.com/gonewest818/elisp-lint";
     rev = "2b645266be8010a6a49c6d0ebf6a3ad5bd290ff4";
   };
 
-  scriptEl = builtins.path {
-    path = ./script.el;
-    name = "script.el";
-  };
-
   pipeline.steps = [
     {
       key = "lint-secrets";
@@ -27,16 +25,27 @@ let
     }
     {
       key = "init-emacs";
-      command = ''
-        ${briefcase.emacs.runScript scriptEl} ${briefcase.emacs.initEl}
-      '';
+      command = let
+        scriptEl = path {
+          path = ./script.el;
+          name = "script.el";
+        };
+        runScriptEl = runScript {
+          script = scriptEl;
+          briefcasePath = "$(pwd)";
+        };
+      in "${runScriptEl} ${initEl}";
       label = ":gnu: initialize Emacs";
       depends_on = "build-briefcase";
     }
     {
       key = "lint-emacs";
-      command = ''
-        ${briefcase.emacs.nixos}/bin/wpcarros-emacs \
+      command = let
+        nixosEmacs = briefcase.emacs.nixos {
+          briefcasePath = "$(pwd)";
+        };
+      in ''
+        ${nixosEmacs}/bin/wpcarros-emacs \
           --quick \
           --batch \
           --load ${elispLintSrc}/elisp-lint.el \
@@ -61,4 +70,4 @@ let
       depends_on = "build-briefcase";
     }
   ];
-in pkgs.writeText "pipeline.yaml" (builtins.toJSON pipeline)
+in pkgs.writeText "pipeline.yaml" (toJSON pipeline)