mirror of
https://github.com/Smaug123/static-site-pipeline
synced 2025-10-05 08:18:39 +00:00
Add flake check
This commit is contained in:
100
flake.nix
100
flake.nix
@@ -44,51 +44,77 @@
|
||||
}:
|
||||
flake-utils.lib.eachDefaultSystem (system: let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in let
|
||||
buildHugo = scripts.lib.createShellScript pkgs "hugo" ./docker/hugo/build.sh;
|
||||
in let
|
||||
katex-parts = pkgs.stdenv.mkDerivation {
|
||||
__contentAddressed = true;
|
||||
pname = "katex";
|
||||
version = "0.1.0";
|
||||
src = katex.outputs.packages.${system}.default;
|
||||
|
||||
installPhase = ''
|
||||
mkdir "$out"
|
||||
ls -la .
|
||||
cp -r ./libexec/katex/dist "$out/dist"
|
||||
'';
|
||||
};
|
||||
in let
|
||||
website = pkgs.stdenv.mkDerivation {
|
||||
__contentAddressed = true;
|
||||
pname = "patrickstevens.co.uk";
|
||||
version = "0.1.0";
|
||||
|
||||
src = ./hugo;
|
||||
|
||||
buildInputs = [
|
||||
pkgs.hugo
|
||||
pkgs.html-tidy
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
${scripts.lib.createShellScript pkgs "all" ./build/all.sh}/run.sh "${pdfs.packages.${system}.default}" "${images.packages.${system}.default}" "${anki-decks.packages.${system}.default}" "${buildHugo}" "${katex-parts}" "${extra-content}"
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
echo "Linting HTML."
|
||||
${pkgs.html-tidy}/bin/tidy
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mv output $out
|
||||
'';
|
||||
};
|
||||
in rec {
|
||||
packages = flake-utils.lib.flattenTree {
|
||||
gitAndTools = pkgs.gitAndTools;
|
||||
default = website;
|
||||
};
|
||||
defaultPackage =
|
||||
let
|
||||
buildHugo = scripts.lib.createShellScript pkgs "hugo" ./docker/hugo/build.sh;
|
||||
in let
|
||||
katex-parts = pkgs.stdenv.mkDerivation {
|
||||
__contentAddressed = true;
|
||||
pname = "katex";
|
||||
version = "0.1.0";
|
||||
src = katex.outputs.packages.${system}.default;
|
||||
|
||||
installPhase = ''
|
||||
mkdir "$out"
|
||||
ls -la .
|
||||
cp -r ./libexec/katex/dist "$out/dist"
|
||||
'';
|
||||
};
|
||||
in
|
||||
pkgs.stdenv.mkDerivation {
|
||||
__contentAddressed = true;
|
||||
pname = "patrickstevens.co.uk";
|
||||
version = "0.1.0";
|
||||
|
||||
src = ./hugo;
|
||||
|
||||
buildInputs = [
|
||||
pkgs.hugo
|
||||
pkgs.html-tidy
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
${scripts.lib.createShellScript pkgs "all" ./build/all.sh}/run.sh "${pdfs.packages.${system}.default}" "${images.packages.${system}.default}" "${anki-decks.packages.${system}.default}" "${buildHugo}" "${katex-parts}" "${extra-content}"
|
||||
'';
|
||||
|
||||
checks = {
|
||||
fmt-check = pkgs.stdenvNoCC.mkDerivation {
|
||||
name = "fmt-check";
|
||||
src = ./.;
|
||||
nativeBuildInputs = [pkgs.alejandra pkgs.shellcheck pkgs.shfmt];
|
||||
checkPhase = ''
|
||||
echo "Linting HTML."
|
||||
${pkgs.html-tidy}/bin/tidy
|
||||
find . -type f -name '*.sh' | xargs shfmt -d -s -i 2 -ci
|
||||
alejandra -c .
|
||||
find . -type f -name '*.sh' -exec shellcheck -x {} \;
|
||||
'';
|
||||
installPhase = "mkdir $out";
|
||||
dontBuild = true;
|
||||
doCheck = true;
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mv output $out
|
||||
website-check = pkgs.stdenvNoCC.mkDerivation {
|
||||
name = "website-check";
|
||||
src = website;
|
||||
installPhase = "mkdir $out";
|
||||
dontBuild = true;
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
${pkgs.bash}/bin/bash ${scripts.lib.createShellScript pkgs "linkcheck" ./linkcheck.sh}/run.sh ${pkgs.lynx}/bin/lynx
|
||||
'';
|
||||
};
|
||||
};
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user