publish haddock in CI

- set correct subdirectory for docs
- add elucidating comment about deployment target
This commit is contained in:
Emily Martins 2022-04-19 15:04:42 +02:00
parent b739e2a4ca
commit a3274a0f91
3 changed files with 63 additions and 23 deletions

View file

@ -50,10 +50,8 @@
projectFor = system:
let pkgs = nixpkgsFor system;
in
let pkgs' = nixpkgsFor' system;
in
(nixpkgsFor system).haskell-nix.cabalProject' {
in let pkgs' = nixpkgsFor' system;
in (nixpkgsFor system).haskell-nix.cabalProject' {
src = ./.;
compiler-nix-name = ghcVersion;
inherit (plutarch) cabalProjectLocal;
@ -122,18 +120,16 @@
inherit (plutarch.tools) fourmolu;
})
fourmolu;
in
pkgs.runCommand "format-check"
{
nativeBuildInputs = [
pkgs'.git
pkgs'.fd
pkgs'.haskellPackages.cabal-fmt
pkgs'.nixpkgs-fmt
fourmolu
pkgs'.haskell.packages."${ghcVersion}".hlint
];
} ''
in pkgs.runCommand "format-check" {
nativeBuildInputs = [
pkgs'.git
pkgs'.fd
pkgs'.haskellPackages.cabal-fmt
pkgs'.nixpkgs-fmt
fourmolu
pkgs'.haskell.packages."${ghcVersion}".hlint
];
} ''
export LC_CTYPE=C.UTF-8
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
@ -142,12 +138,22 @@
find -name '*.hs' -not -path './dist*/*' -not -path './haddock/*' | xargs hlint
mkdir $out
'';
in
{
in {
project = perSystem projectFor;
flake = perSystem (system: (projectFor system).flake { });
packages = perSystem (system: self.flake.${system}.packages);
packages = perSystem (system:
self.flake.${system}.packages // {
haddock = let
agora-doc = self.flake.${system}.packages."agora:lib:agora".doc;
pkgs = nixpkgsFor system;
in pkgs.runCommand "haddock-merge" { } ''
cd ${self}
mkdir $out
cp -r ${agora-doc}/share/doc/* $out
'';
});
# Define what we want to test
checks = perSystem (system:
@ -157,10 +163,9 @@
agora-test = self.flake.${system}.packages."agora:test:agora-test";
});
check = perSystem (system:
(nixpkgsFor system).runCommand "combined-test"
{
checksss = builtins.attrValues self.checks.${system};
} ''
(nixpkgsFor system).runCommand "combined-test" {
checksss = builtins.attrValues self.checks.${system};
} ''
echo $checksss
touch $out
'');