ci: build docs in buildbot output

GitHub Actions runners lack a reusable /nix/store, so rendering the full
manual, options JSON, and manpages on every docs PR pays that cost
uncached. buildbot has a persistent store, so expose the docs outputs
there instead and leave the GHA docs step at the lightweight maintainers
check.
This commit is contained in:
Austin Horstman
2026-06-21 23:44:06 -05:00
parent f3dc0b8583
commit d8dac1f668
+19 -6
View File
@@ -64,6 +64,15 @@
"x86_64-linux" "x86_64-linux"
]; ];
releaseInfo = nixpkgs.lib.importJSON ./release.json;
docsFor =
pkgs:
import ./docs {
inherit pkgs;
inherit (releaseInfo) release isReleaseBranch;
};
testChunks = testChunks =
system: system:
let let
@@ -172,6 +181,7 @@
buildbot = forCI ( buildbot = forCI (
system: system:
let let
docs = docsFor nixpkgs.legacyPackages.${system};
allIntegrationTests = integrationTests system; allIntegrationTests = integrationTests system;
workingIntegrationTests = nixpkgs.lib.filterAttrs ( workingIntegrationTests = nixpkgs.lib.filterAttrs (
name: _: name: _:
@@ -181,17 +191,20 @@
] ]
) allIntegrationTests; ) allIntegrationTests;
in in
(testChunks system) // workingIntegrationTests (testChunks system)
// workingIntegrationTests
// {
docs-html = docs.manual.html;
docs-json = docs.options.json;
docs-jsonModuleMaintainers = docs.jsonModuleMaintainers;
docs-manpages = docs.manPages;
}
); );
packages = forAllPkgs ( packages = forAllPkgs (
pkgs: pkgs:
let let
releaseInfo = nixpkgs.lib.importJSON ./release.json; docs = docsFor pkgs;
docs = import ./docs {
inherit pkgs;
inherit (releaseInfo) release isReleaseBranch;
};
hmPkg = pkgs.callPackage ./home-manager { path = "${self}"; }; hmPkg = pkgs.callPackage ./home-manager { path = "${self}"; };
in in
{ {