Run tests when building the nix package

This commit is contained in:
Sven van Heugten 2026-02-22 10:28:22 +01:00
parent 144ef949cf
commit c04ccf4974
No known key found for this signature in database
GPG key ID: D612F88666F4F660
3 changed files with 55 additions and 5 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/result

53
default.nix Normal file
View file

@ -0,0 +1,53 @@
{
stdenv,
lib,
shellcheck-minimal,
bats,
gitMinimal,
}:
let
fs = lib.fileset;
in
stdenv.mkDerivation {
pname = "git-check-assertions";
version = "0.0.1";
src = fs.toSource {
root = ./.;
fileset = fs.unions [
./git-check-assertions
./test.bats
];
};
postPatch = ''
patchShebangs .
'';
nativeCheckInputs = [
shellcheck-minimal
bats
gitMinimal
];
checkPhase = ''
shellcheck git-check-assertions test.bats
git init
git config user.email test
git config user.name test
git checkout -b main
git commit --allow-empty -m "initial"
./test.bats
'';
doCheck = true;
installPhase = ''
mkdir -p $out/bin
cp $src/git-check-assertions $out/bin/git-check-assertions
chmod +x $out/bin/git-check-assertions
'';
meta.mainProgram = "git-check-assertions";
}

View file

@ -14,11 +14,7 @@
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
in in
{ {
packages.default = pkgs.writeShellApplication { packages.default = pkgs.callPackage ./default.nix { };
name = "git-check-assertions";
runtimeInputs = [ pkgs.git ];
text = builtins.readFile ./git-check-assertions;
};
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
packages = with pkgs; [ bats ]; packages = with pkgs; [ bats ];
}; };