chore(web): remove outputsPath
option
It was relying on GitHub stuff which we don't have and is not an option we want to support. If we wanted to do it, we would rather use S3 directly. Signed-off-by: Raito Bezarius <raito@lix.systems>
This commit is contained in:
parent
e9b02fb0c3
commit
9eb92e76e7
|
@ -417,30 +417,6 @@ class NixBuildCommand(buildstep.ShellMixin, steps.BuildStep):
|
||||||
return cmd.results()
|
return cmd.results()
|
||||||
|
|
||||||
|
|
||||||
class UpdateBuildOutput(steps.BuildStep):
|
|
||||||
"""Updates store paths in a public www directory.
|
|
||||||
This is useful to prefetch updates without having to evaluate
|
|
||||||
on the target machine.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, path: Path, **kwargs: Any) -> None:
|
|
||||||
super().__init__(**kwargs)
|
|
||||||
self.path = path
|
|
||||||
|
|
||||||
def run(self) -> Generator[Any, object, Any]:
|
|
||||||
props = self.build.getProperties()
|
|
||||||
if props.getProperty("branch") != props.getProperty(
|
|
||||||
"github.repository.default_branch",
|
|
||||||
):
|
|
||||||
return util.SKIPPED
|
|
||||||
|
|
||||||
attr = Path(props.getProperty("attr")).name
|
|
||||||
out_path = props.getProperty("out_path")
|
|
||||||
# XXX don't hardcode this
|
|
||||||
self.path.mkdir(parents=True, exist_ok=True)
|
|
||||||
(self.path / attr).write_text(out_path)
|
|
||||||
return util.SUCCESS
|
|
||||||
|
|
||||||
|
|
||||||
def nix_eval_config(
|
def nix_eval_config(
|
||||||
project: GerritProject,
|
project: GerritProject,
|
||||||
|
@ -521,7 +497,6 @@ def nix_build_config(
|
||||||
project: GerritProject,
|
project: GerritProject,
|
||||||
worker_arch: str,
|
worker_arch: str,
|
||||||
worker_names: list[str],
|
worker_names: list[str],
|
||||||
outputs_path: Path | None = None,
|
|
||||||
signing_keyfile: str | None = None,
|
signing_keyfile: str | None = None,
|
||||||
binary_cache_config: S3BinaryCacheConfig | None = None
|
binary_cache_config: S3BinaryCacheConfig | None = None
|
||||||
) -> util.BuilderConfig:
|
) -> util.BuilderConfig:
|
||||||
|
@ -611,13 +586,7 @@ def nix_build_config(
|
||||||
command=["rm", "-f", util.Interpolate("result-%(prop:attr)s")],
|
command=["rm", "-f", util.Interpolate("result-%(prop:attr)s")],
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
if outputs_path is not None:
|
|
||||||
factory.addStep(
|
|
||||||
UpdateBuildOutput(
|
|
||||||
name="Update build output",
|
|
||||||
path=outputs_path,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
return util.BuilderConfig(
|
return util.BuilderConfig(
|
||||||
name=f"{project.name}/nix-build/{worker_arch}",
|
name=f"{project.name}/nix-build/{worker_arch}",
|
||||||
project=project.name,
|
project=project.name,
|
||||||
|
@ -645,7 +614,6 @@ def config_for_project(
|
||||||
nix_eval_worker_count: int,
|
nix_eval_worker_count: int,
|
||||||
nix_eval_max_memory_size: int,
|
nix_eval_max_memory_size: int,
|
||||||
eval_lock: util.MasterLock,
|
eval_lock: util.MasterLock,
|
||||||
outputs_path: Path | None = None,
|
|
||||||
signing_keyfile: str | None = None,
|
signing_keyfile: str | None = None,
|
||||||
binary_cache_config: S3BinaryCacheConfig | None = None
|
binary_cache_config: S3BinaryCacheConfig | None = None
|
||||||
) -> Project:
|
) -> Project:
|
||||||
|
@ -708,7 +676,6 @@ def config_for_project(
|
||||||
project,
|
project,
|
||||||
arch,
|
arch,
|
||||||
[ f"{w}-{arch}" for w in worker_names ],
|
[ f"{w}-{arch}" for w in worker_names ],
|
||||||
outputs_path=outputs_path,
|
|
||||||
signing_keyfile=signing_keyfile,
|
signing_keyfile=signing_keyfile,
|
||||||
binary_cache_config=binary_cache_config
|
binary_cache_config=binary_cache_config
|
||||||
)
|
)
|
||||||
|
@ -816,7 +783,6 @@ class GerritNixConfigurator(ConfiguratorBase):
|
||||||
signing_keyfile: str | None = None,
|
signing_keyfile: str | None = None,
|
||||||
prometheus_config: dict[str, int | str] | None = None,
|
prometheus_config: dict[str, int | str] | None = None,
|
||||||
binary_cache_config: dict[str, str] | None = None,
|
binary_cache_config: dict[str, str] | None = None,
|
||||||
outputs_path: str | None = None,
|
|
||||||
) -> None:
|
) -> None:
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.gerrit_server = gerrit_server
|
self.gerrit_server = gerrit_server
|
||||||
|
@ -834,10 +800,6 @@ class GerritNixConfigurator(ConfiguratorBase):
|
||||||
else:
|
else:
|
||||||
self.binary_cache_config = None
|
self.binary_cache_config = None
|
||||||
self.signing_keyfile = signing_keyfile
|
self.signing_keyfile = signing_keyfile
|
||||||
if outputs_path is None:
|
|
||||||
self.outputs_path = None
|
|
||||||
else:
|
|
||||||
self.outputs_path = Path(outputs_path)
|
|
||||||
|
|
||||||
def configure(self, config: dict[str, Any]) -> None:
|
def configure(self, config: dict[str, Any]) -> None:
|
||||||
worker_config = json.loads(read_secret_file(self.nix_workers_secret_name))
|
worker_config = json.loads(read_secret_file(self.nix_workers_secret_name))
|
||||||
|
@ -866,7 +828,6 @@ class GerritNixConfigurator(ConfiguratorBase):
|
||||||
self.nix_eval_worker_count or multiprocessing.cpu_count(),
|
self.nix_eval_worker_count or multiprocessing.cpu_count(),
|
||||||
self.nix_eval_max_memory_size,
|
self.nix_eval_max_memory_size,
|
||||||
eval_lock,
|
eval_lock,
|
||||||
self.outputs_path,
|
|
||||||
signing_keyfile=self.signing_keyfile,
|
signing_keyfile=self.signing_keyfile,
|
||||||
binary_cache_config=self.binary_cache_config
|
binary_cache_config=self.binary_cache_config
|
||||||
)
|
)
|
||||||
|
|
|
@ -51,13 +51,6 @@ in
|
||||||
example = "buildbot.numtide.com";
|
example = "buildbot.numtide.com";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputsPath = lib.mkOption {
|
|
||||||
type = lib.types.nullOr lib.types.path;
|
|
||||||
description = "Path where we store the latest build store paths names for nix attributes as text files. This path will be exposed via nginx at \${domain}/nix-outputs";
|
|
||||||
default = null;
|
|
||||||
example = "/var/www/buildbot/nix-outputs";
|
|
||||||
};
|
|
||||||
|
|
||||||
signingKeyFile = lib.mkOption {
|
signingKeyFile = lib.mkOption {
|
||||||
type = lib.types.nullOr lib.types.path;
|
type = lib.types.nullOr lib.types.path;
|
||||||
description = "A path to a Nix signing key";
|
description = "A path to a Nix signing key";
|
||||||
|
@ -173,7 +166,6 @@ in
|
||||||
nix_eval_max_memory_size=${builtins.toJSON cfg.evalMaxMemorySize},
|
nix_eval_max_memory_size=${builtins.toJSON cfg.evalMaxMemorySize},
|
||||||
nix_eval_worker_count=${if cfg.evalWorkerCount == null then "None" else builtins.toString cfg.evalWorkerCount},
|
nix_eval_worker_count=${if cfg.evalWorkerCount == null then "None" else builtins.toString cfg.evalWorkerCount},
|
||||||
nix_supported_systems=${builtins.toJSON cfg.buildSystems},
|
nix_supported_systems=${builtins.toJSON cfg.buildSystems},
|
||||||
outputs_path=${if cfg.outputsPath == null then "None" else builtins.toJSON cfg.outputsPath},
|
|
||||||
prometheus_config=${if (!cfg.prometheus.enable) then "None" else builtins.toJSON {
|
prometheus_config=${if (!cfg.prometheus.enable) then "None" else builtins.toJSON {
|
||||||
inherit (cfg.prometheus) address port;
|
inherit (cfg.prometheus) address port;
|
||||||
}},
|
}},
|
||||||
|
@ -259,13 +251,7 @@ in
|
||||||
# raise the proxy timeout for the websocket
|
# raise the proxy timeout for the websocket
|
||||||
extraConfig = "proxy_read_timeout 6000s;";
|
extraConfig = "proxy_read_timeout 6000s;";
|
||||||
};
|
};
|
||||||
} // lib.optionalAttrs (cfg.outputsPath != null) {
|
|
||||||
"/nix-outputs".root = cfg.outputsPath;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.tmpfiles.rules = lib.optional (cfg.outputsPath != null)
|
|
||||||
# Allow buildbot-coordinator to write to this directory
|
|
||||||
"d ${cfg.outputsPath} 0755 buildbot buildbot - -";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue