Commit Graph
559879 Commits
Author SHA1 Message Date
Adam Joseph 77d3093caa AAAAAASomeThingsFailToEvaluate: provide a message which is actually helpful 2023-12-15 05:13:50 -08:00
Adam Joseph eda44b7415 pkgs/top-level/release-attrpaths-superset.nix: init
This file walks the entire nixpkgs tree and emits a superset of all
release attrnames in only 44 seconds on a 3ghz CPU, using 5 gbytes
of memory.  By comparison, on the same CPU the `nix-env` hack used
by ofborg on every PR submission requires 41 *minutes* and peaks at
60 gbytes, even with checkMeta turned off.  Full details below.

This is:

- 46x faster (or 2.1% of the elapsed time)
- 12.5x less memory (or 8.0% of the peak memory usage)

In order to replace the ofborg check, this list of attrnames must
then be post-filtered for platform-relevance.  However, crucially,
the post-filtering can be done *in parallel* on multiple cores by
splitting the attrname list in to chunks.  Generating the list of
attrnames cannot be parallelized because it is a single-threaded
cppnix task.

This PR also adds `recurseForDerivations` where necessary within
nixpkgs in order to make this possible -- it screens out various
non-tryEval-catchable failures and infinite recursions.  Before
undraftifying, I will add an invocation of this command to the CI
tests, to ensure that the work performed here is not immediately
undone.  My next PR will then add an additional CI check confirming
that the emitted attrpaths are in fact a superset of the release
attrpaths calculated by the slow-memory-hog ofborg method.

I have manually confirmed that this is the case at the tip commit of
this PR, but we need CI to make sure this remains true until ofborg
switches to this more-efficient method of calculation; at that point
the superset-check can be dropped.

According to GNU Time,

        Command being timed: "nix-instantiate --eval --strict --json pkgs/top-level/release-attrpaths-superset.nix -A names"
        User time (seconds): 44.88
        System time (seconds): 8.09
        Percent of CPU this job got: 99%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:53.20
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 4823028
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 3611240
        Voluntary context switches: 113
        Involuntary context switches: 949
        Swaps: 0
        File system inputs: 1480
        File system outputs: 5944
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

Compared to release-outpaths.nix:

        Command being timed: "nix-env -qaP --no-name --out-path --arg checkMeta false --argstr path /git/work/pr/release-outpaths -f pkgs/top-level/release-outpaths.nix"
        User time (seconds): 2120.67
        System time (seconds): 337.80
        Percent of CPU this job got: 98%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 41:37.91
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 60171768
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 2
        Minor (reclaiming a frame) page faults: 230608113
        Voluntary context switches: 8876
        Involuntary context switches: 22275
        Swaps: 0
        File system inputs: 62624
        File system outputs: 72
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0
2023-12-15 05:13:50 -08:00
Adam Joseph 80472e3754 treewide: add __attrsFailEvaluation and __recurseIntoDerivationForReleaseJobs 2023-12-15 05:13:46 -08:00
Adam Joseph cd99109202 pkgs/top-level/release-outpaths.nix: never attempt to build unfree packages, most of them are broken
Since Hydra does not build unfree packages an astonishing proportion
of them are broken yet not marked meta.broken.
2023-12-15 04:21:33 -08:00
Adam Joseph 6e25b3f37c pkgs/top-level/release-outpaths.nix: add includeBroken parameter 2023-12-15 04:21:33 -08:00
Adam Joseph e5df65704e pkgs/top-level/release-outpaths.nix: make systems parameter optional 2023-12-15 04:21:33 -08:00
Adam Joseph 5d3cf4e515 pkgs/top-level/release-outpaths.nix: simplify invocation 2023-12-15 04:21:32 -08:00
Adam Joseph 36b5bfc296 pkgs/top-level/release-outpaths.nix: add attrNamesOnly option 2023-12-15 04:21:32 -08:00
Adam Joseph 8d888a5caa pkgs/top-level/release-outpaths.nix: adjust default path value 2023-12-15 04:21:32 -08:00
Adam Joseph 5c9ec8597b pkgs/top-level/release-outpaths.nix: vendor from ofborg
This commit vendors `outpaths.nix` from ofborg commit

  74f38efa7ef6f0e8e71ec3bfc675ae4fb57d7491
2023-12-15 04:21:32 -08:00
Adam Joseph 02a2822def pkgs/top-level/release.nix: add attrNamesOnly option 2023-12-15 04:21:32 -08:00
Maximilian BoschandGitHub 554a6a28a4 Merge pull request #274288 from r-ryantm/auto-update/expr
expr: 1.15.5 -> 1.15.7
2023-12-15 13:14:56 +01:00
Maximilian BoschandGitHub 52f9c53fdd Merge pull request #274377 from r-ryantm/auto-update/chrony
chrony: 4.4 -> 4.5
2023-12-15 13:10:05 +01:00
Florian KlinkandGitHub f4de47d49e Merge pull request #274264 from flokli/udev-rules-allow-bin-sh
nixos/udev: allow /bin/sh in udev rules
2023-12-15 13:57:35 +02:00
Gaetan LepageandSomeone ee1148c372 mission-center: 0.4.1 -> 0.4.3
Changelog: https://gitlab.com/mission-center-devs/mission-center/-/releases/v0.4.3
2023-12-15 11:30:37 +00:00
Alyssa Ross 1cf35039f5 cloud-hypervisor: 36.0 -> 37.0 2023-12-15 12:21:53 +01:00
Maximilian BoschandGitHub c9e01dafc0 Merge pull request #273188 from SuperSandro2000/fzf-perl-locale
fzf: reduce closure size by just quieten perl instead of providing gl…
2023-12-15 12:20:15 +01:00
Gaetan LepageandSomeone 8d8e2141f5 gpu-burn: unstabe-2021-04-29 -> unstable-2023-11-10 2023-12-15 11:13:57 +00:00
Fabian AffolterandGitHub 19500d10c6 Merge pull request #274193 from fabaff/dep-scan
dep-scan: init at 5.0.2
2023-12-15 11:44:19 +01:00
Fabian AffolterandGitHub d5642915e2 Merge pull request #274224 from fabaff/ad-miner
ad-miner: init at 0.6.0
2023-12-15 11:44:09 +01:00
Fabian AffolterandGitHub 8f54524603 Merge pull request #274290 from fabaff/teslajsonpy-bump
python311Packages.teslajsonpy: 3.9.7 -> 3.9.9
2023-12-15 11:43:57 +01:00
K900andGitHub 02357adddd Merge pull request #274409 from K900/unblock-channels
Unblock channels
2023-12-15 13:23:40 +03:00
Janne HeßandGitHub 39bbee99ff Merge pull request #274262 from NetaliDev/zammad-update
zammad: 6.1.0 -> 6.2.0
2023-12-15 10:59:17 +01:00
R. Ryantmandzowoq db1680d1d6 gh: 2.40.0 -> 2.40.1 2023-12-15 19:52:04 +10:00
Profpatsch cb37959f99 miller: copy manpage to $man 2023-12-15 10:39:28 +01:00
K900 1950eec4aa nixos/ldso: remove string context from linker soname
Unbreaks installer tests that otherwise start depending on i686-glibc
2023-12-15 12:39:26 +03:00
K900 7e3d335152 nixos/tests/containers-imperative: download more RAM 2023-12-15 12:38:08 +03:00
Eric BaileyandJörg Thalheim 80b93fa3e8 gotools: 0.7.0 -> 0.16.1 2023-12-15 10:12:17 +01:00
7c6f434candGitHub bb8b1e6bd7 Merge pull request #272694 from r-ryantm/auto-update/sgt-puzzles
sgt-puzzles: 20231025.35f7965 -> 20231120.08365fb
2023-12-15 09:00:59 +00:00
Maximilian BoschandGitHub 00e923cdc1 Merge pull request #274275 from Ma27/hardened-kernel-updates
hardened kernel: test 6.6 & remove obsolete 4.14 from patches.json
2023-12-15 09:42:10 +01:00
Maximilian BoschandGitHub 61f8befe45 Merge pull request #274246 from Ma27/bump-gitea
gitea: 1.21.1 -> 1.21.2
2023-12-15 09:35:51 +01:00
7c6f434candGitHub 507f399d01 Merge pull request #274171 from philiptaron/clasp-common-lisp
clasp-common-lisp: fix build and rehydrate dependencies
2023-12-15 08:07:12 +00:00
Maximilian BoschandGitHub 28089f8874 Merge pull request #273858 from dotlambda/nextcloud28-init
nextcloud28: init at 28.0.0, nextcloud27: 27.1.4 -> 27.1.5, nextcloud26: 26.0.9 -> 26.0.10
2023-12-15 08:14:15 +01:00
Ulrik StridandGitHub bc2ae87f8d Merge pull request #274372 from vbgl/ocaml-angstrom-0.16.0
ocamlPackages.angstrom: 0.15.0 → 0.16.0
2023-12-15 08:02:17 +01:00
Marek FajkusandGitHub 9a9178ba2a Merge pull request #274371 from r-ryantm/auto-update/cargo-generate
cargo-generate: 0.18.5 -> 0.19.0
2023-12-15 07:47:51 +01:00
R. Ryantm 1de65585be chrony: 4.4 -> 4.5 2023-12-15 06:06:57 +00:00
R. Ryantm 715d39b1b1 cargo-generate: 0.18.5 -> 0.19.0 2023-12-15 05:43:48 +00:00
Vincent Laporte 9ed75988e2 ocamlPackages.angstrom: 0.15.0 → 0.16.0 2023-12-15 06:40:48 +01:00
Vincent Laporte 64daf50ff3 ocamlPackages.httpaf: add missing dependency 2023-12-15 06:40:41 +01:00
Lin JianandGitHub 73b3a1450f Merge pull request #274110 from networkException/sysctl-net.core.wmem_max
nixos/{sysctl,caddy}: improvements for net.core.wmem_max
2023-12-14 23:14:17 -06:00
Pol DellaieraandGitHub 9c33df0909 Merge pull request #274316 from r-ryantm/auto-update/fg-virgil
fg-virgil: 0.16.1 -> 0.17.0
2023-12-15 05:43:56 +01:00
EmilyandGitHub 2bf1c545f7 Merge pull request #274298 from networkException/update-chromium
{ungoogled-,}chromium: 120.0.6099.71 -> 120.0.6099.109
2023-12-15 05:13:08 +01:00
networkException 968905ab76 nixos/caddy: also increase socket send buffer size as recommended by upstream
this patch adjusts the `boot.kernel.sysctl."net.core.wmem_max"` to match the
value suggested in the quic-go wiki, just as `"net.core.wmem_max"`.

see fdfdc5df21
see https://github.com/quic-go/quic-go/issues/3923
2023-12-15 04:43:57 +01:00
networkException 439350753e nixos/sysctl: use highest value on conflict for net.core.wmem_max
we previously defined a custom type for `boot.kernel.sysctl."net.core.rmem_max"`
to resolve to the highest value set. this patch adds the same behavior to
`"net.core.wmem_max"`.

as this changes the type from a string to an integer, which is a breaking
change this patch also includes a release note and updates the transmission
module to use a number for `wmem_max`.
2023-12-15 04:43:57 +01:00
Connor BakerandGitHub c7530f3499 Merge pull request #274337 from SomeoneSerge/refactor/nvidia-optical-sdk-mark-hook
nvidia-optical-flow-sdk: refactor: propagation via setupCudaHook
2023-12-14 21:48:08 -05:00
Peder Bergebakken SundtandGitHub 43edc09698 Merge pull request #269444 from uku3lig/shotcut-23.09.29
shotcut: 21.09.20 -> 23.11.29
2023-12-15 02:58:40 +01:00
Thomas GerbetandGitHub 6021d54989 Merge pull request #274301 from markuskowa/upd-slurm-fix
slurm: 23.02.6.1 -> 23.02.7.1
2023-12-15 02:47:07 +01:00
Martin WeineltandGitHub 1f54b7d2f1 Merge pull request #274334 from NixOS/home-assistant
home-assistant: 2023.12.2 -> 2023.12.3
2023-12-15 02:42:34 +01:00
Martin Weinelt 805cac89ab python311Packages.homeassistant-stubs: 2023.12.2 -> 2023.12.3
https://github.com/KapJI/homeassistant-stubs/releases/tag/2023.12.3
2023-12-15 02:39:47 +01:00
Maciej KrügerandGitHub 28dab0255c Merge pull request #272121 from gaykitty/framework-laptop-kmod
framework-laptop-kmod: init at unstable-2023-12-03
2023-12-15 02:38:53 +01:00