fcd02d75aa
Most of the errors at the moment are related to line-lengths exceeding my 80 character limit. While these are valid, the linter doesn't currently support disabling these checks, which means that my Elisp code always fails this CI step. This creates too much noise and conditions me to care less about CI failures. When the Elisp linter support this feature, I will gladly re-enable this step.
56 lines
1.5 KiB
Nix
56 lines
1.5 KiB
Nix
{ briefcase, pkgs, ... }:
|
|
|
|
let
|
|
inherit (builtins) fetchGit path toJSON;
|
|
inherit (briefcase.emacs) initEl runScript;
|
|
|
|
elispLintSrc = fetchGit {
|
|
url = "https://github.com/gonewest818/elisp-lint";
|
|
rev = "2b645266be8010a6a49c6d0ebf6a3ad5bd290ff4";
|
|
};
|
|
|
|
pipeline.steps = [
|
|
{
|
|
key = "lint-secrets";
|
|
command = "${pkgs.git-secrets}/bin/git-secrets --scan-history";
|
|
label = ":broom: lint secrets";
|
|
}
|
|
{
|
|
key = "build-briefcase";
|
|
command = ''
|
|
nix-build . -I briefcase="$(pwd)" --no-out-link --show-trace
|
|
'';
|
|
label = ":nix: build briefcase";
|
|
depends_on = "lint-secrets";
|
|
}
|
|
{
|
|
key = "init-emacs";
|
|
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 = "build-socrates";
|
|
command = ''
|
|
nix-build '<nixpkgs/nixos>' \
|
|
-I briefcase="$(pwd)" \
|
|
-I nixpkgs=/var/lib/buildkite-agent-socrates/nixpkgs-channels \
|
|
-I nixos-config=nixos/socrates/default.nix \
|
|
-A system \
|
|
--no-out-link \
|
|
--show-trace
|
|
'';
|
|
label = ":nix: build socrates";
|
|
depends_on = "build-briefcase";
|
|
}
|
|
];
|
|
in pkgs.writeText "pipeline.yaml" (toJSON pipeline)
|