From d424b7e236e82ea8b5912990d0a5b232163747f6 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Wed, 22 May 2019 05:00:25 -0300 Subject: Fix hakyll build: use proper src for subtasks.docs I couldn't find out what was causing the website build to fail. I looked back in the git history and since I remembered the code back in January 1st 2019 was working, I searched for the last commit from that period (before I started working on it again recently). This was the perfect use case for using git bisect. After identifying a good commit back then ( 55e947d7901c17dbb1365a5cfb9f40acd50e903b), I read the =git help bisect= instructions, I only had to find the command to combine with =git bisect run= to test each commit. Initially I considered doing a simple or: nix-build -A subtasks.docs || nix-build -A build This would work, but I later figured that the =publishScript= derivation existed back then, and I could instead use it. The final bisect commands were: git bisect start HEAD 55e947d7901c17dbb1365a5cfb9f40acd50e903b -- git bisect run nix-build -A publishScript git bisect reset After the second command and around 30 seconds and a lot of output, git said: error: build of '/nix/store/299c1mwcwxxl74cvzr13lzlfqfdqxdlc-publish.sh.drv' failed 997bed0f60a8d09fa14544c0d4c489f771e2534c is the first bad commit commit 997bed0f60a8d09fa14544c0d4c489f771e2534c Author: EuAndreh Date: Sun May 19 01:39:07 2019 -0300 Split default.nix tasks :100644 100644 00572eb6a32da956d18b14e1c00323bba1b34a72 31feb5afc45ed2592b8f7a81b4ba7fe56fbe3fd1 M default.nix bisect run success After looking at how default.nix was before and after the bad commit, I realised that the =src= attribute of the =subtasks.docs= derivation was adapted incorrectly after being changed from the =build= derivation. After fixing it, it worked :) Great job git :) --- default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/default.nix b/default.nix index fd02d59..8f66761 100644 --- a/default.nix +++ b/default.nix @@ -99,6 +99,7 @@ with pkgs.stdenv; rec { }); docs = baseTask.overrideAttrs (baseAttrs: { name = "${baseAttrs.name}-docs"; + src = ./site; buildInputs = [ websiteBuilder pandoc ]; buildPhase = '' export LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive"; -- cgit v1.2.3