Commit graph

14 commits

Author SHA1 Message Date
raito 542a3ae836 feat(*): init Rust port
This is a Rust port of the original Perl script, legacy cruft is removed
and it focuses on a modern Hydra deployment.

Nonetheless, it knows how to perform migrations based on the channel
versions.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-08-31 18:06:46 +02:00
Samuel Dionne-Riel 55d80937ca Add flake-compat default.nix/shell.nix
Let's keep this repository as accessible to contributors as possible!
2020-03-24 19:59:10 -04:00
Eelco Dolstra aec148383a Convert to flake 2019-12-30 21:34:49 +01:00
Eelco Dolstra 90fcc7be84 Rsync channel redirects to nixos.org 2019-01-24 23:25:12 +01:00
Eelco Dolstra 4a3ae75e4f Fix build 2019-01-24 19:06:58 +01:00
Eelco Dolstra a5e125330c
generate-programs-index: Check whether symlink targets exist
Fixes https://github.com/NixOS/nixpkgs/issues/26661
2017-07-07 16:45:45 +02:00
Eelco Dolstra 74c917454c
Add a command for indexing debug info files by build ID
For every file "lib/debug/.build-id/<build-id>.debug" in every store
path ending in -debug in a release, this command creates an S3 key
"debuginfo/<build-id>" specifying the location of the NAR that
contains the debug info file for that build ID. Thus,
https://cache.nixos.org/debuginfo allows debug info files to be looked
up by build ID. This allows debug info files to be fetched
automatically by dwarffs [1].

One minor issue is that in theory, multiple store paths could provide
debug info files for a particular build ID. So then when we garbage
collect a store path from the binary cache, we migth invalidate a
debug info link even though there are non-GC'ed store paths that
provide the file. Ah well.

I could have used HTTP redirects, but they're kind of a pain to
configure with S3.

[1] https://github.com/edolstra/dwarffs
2017-07-07 15:33:27 +02:00
Eelco Dolstra a91fb566a9
Factor out the file cache 2017-07-06 14:53:52 +02:00
Eelco Dolstra dd0d2d2ca6
Update build 2017-04-18 15:26:38 +02:00
Eelco Dolstra 2176c939fc Compute FS closures in parallel
This is much faster.
2016-11-10 18:10:08 +01:00
Eelco Dolstra ba19471e5b Use the .ls.xz listings generated by Hydra to speed up building programs.sqlite
This reduces the time to build the index for the regular (non-small) channel from ~10 hours to ~4 minutes.

Fixes #9.
2016-11-10 18:10:03 +01:00
Eelco Dolstra d3d33d5b25 Store releases in S3
Fixes #7.
2016-09-26 18:06:51 +02:00
Eelco Dolstra 76ca1da3ee Add $out/bin to $PATH 2016-08-22 17:18:44 +02:00
Eelco Dolstra ab086b22ef Revive programs.sqlite generation
Fixes #4.
2016-08-11 14:41:26 +02:00