Add build, lint Emacs steps to post-receive pipeline

TL;DR:
- Define runEmacsScript to emacs/default.nix for ci/pipelines/post-receive
- Write script.el to call (load init.el) and catch any errors
- Lint Elisp with gonewest818/elisp-lint

Also nice how Buildkite supports :gnu: emojis!
This commit is contained in:
William Carroll 2020-08-27 18:27:12 +01:00
parent d67dbec7e8
commit 78172233f8
3 changed files with 75 additions and 1 deletions

View file

@ -148,6 +148,21 @@ let
"$@"
'';
in {
inherit initEl;
# I need to start my Emacs from CI without the call to `--load ${initEl}`.
runScript = script: pkgs.writeShellScript "run-emacs-script" ''
export BRIEFCASE=$HOME/briefcase
export PATH="${emacsBinPath}:$PATH"
export EMACSLOADPATH="${wpcDir}:${vendorDir}:${wpcarrosEmacs.deps}/share/emacs/site-lisp"
exec ${wpcarrosEmacs}/bin/emacs \
--no-site-file \
--no-site-lisp \
--no-init-file \
--script ${script} \
"$@"
'';
# Use `nix-env -f '<briefcase>' emacs.glinux` to install `wpcarro-emacs` on
# gLinux machines. This will ensure that X and GL linkage behaves as expected.
glinux = withEmacsPath "/usr/bin/google-emacs";