Conversation
allows using the correct package in passthru remove unneeded replaceStrings in urls
e73468f to
11a8dd3
Compare
There was a problem hiding this comment.
In the future (#176557), nixosTests.nginx-http3.extend { defaults = { /* NixOS module */ }; }
(fyi)
There was a problem hiding this comment.
fetchpatch = tests.fetchpatch.simple.override { fetchpatch = fetchpatch.override { fetchurl = useThisCurl fetchurl; }; };where tests is pkgs.tests.
Haven't tried this, but would be pretty great to have something like this.
Also would be nice to have a direct fetchurl test. 🤷
There was a problem hiding this comment.
I didn't actually want to repeat .simple here, but I don't think we have an overridePackages to complement callPackages yet. That could use recurseForDerivations to do the right thing.
There was a problem hiding this comment.
As rigorous as it is to ensure all these test-packages are built with this curl, I question slightly how relevant it is - most of these packages are only ever built with one curl, and may not actually build with esoteric/minimal curl builds. How is the tester to know what's supposed to build and what isn't?
It also slightly raises the question whether we're going to do this with all the reverse-dependency passthru.tests we've added. Strictly we should, but in reality it would end up with testers building all kinds of package variants that aren't usually expected.
|
ofborg is failing for some reason but I cannot look it up because the log is not loading. |
curl is built many times during a stdenv rebuild they are a bottleneck
| ocaml-curly = ocamlPackages.curly; | ||
| php-curl = phpExtensions.curl; | ||
| pycurl = python3.pkgs.pycurl; | ||
| withCheck = finalAttrs.finalPackage.overrideAttrs (_: { doCheck = true; }); |
There was a problem hiding this comment.
This one should be a channel blocker if it fails. It should be added to release.nix for the nixpkgs and nixos jobs.
There was a problem hiding this comment.
not sure i did it correctly
There was a problem hiding this comment.
error: attribute 'tests' missing
at /var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/mr-est/ofborg-evaluator-4/pkgs/top-level/release.nix:100:15:
99| jobs.stdenv.x86_64-linux
100| jobs.curl.tests.withCheck.x86_64-linux
| ^
101| jobs.cargo.x86_64-linux
are passthru attributes stripped?
There was a problem hiding this comment.
yeah release.nix is kind of a mess (or maybe I'm unfamiliar) and it strips all packages down using hydraJobs. It's supposed to help that evaluator release memory.
If you add the passthru tests as "normal" packages somewhere in pkgs, you won't have to deal with the release.nix code as much.
Maybe do something like this in pkgs/test/default.nix?
corePackageTests = recurseIntoAttrs {
curl = recurseIntoAttrs pkgs.curl.tests;
};That should give you pkgs.tests.corePackageTests, which you can use in the release files.
|
Notionally approve, haven't tested. |
pkgs/test/default.nix
Outdated
There was a problem hiding this comment.
| # we can't add 'nixpkgs.curl.tests' to hydra jobs due to 'passthru' being stripped | |
| passthruTestsForChannelBlockers = recurseIntoAttrs { | |
| # we can't add 'nixpkgs.curl.tests' to hydra jobs due to 'tests' (and 'passthru') being stripped | |
| packageTestsForChannelBlockers = recurseIntoAttrs { |
The fact that they're on a package is more significant than passthru, which is just an implementation detail of mkDerivation.
passthru was introduced in 1014ca2 (2006) and only exposed the attrs inside of it. The behavior passthru.passthru = passthru was only added later for inspection 84fba68:
to distinguish after the fact which attributes were part of the derivation and which came from passthru.
However, the root cause of any such ambiguity comes from the mistake that mkDerivation exposes all its argument attributes in the returned package attrset.
Since RFC 92, not all packages will be defined through mkDerivation anymore, so we should try not to perpetuate its jargon and keep things simple.
|
@ofborg eval |
|
the hydra jobs for |
… channel blocker we can't add 'nixpkgs.curl.tests' to hydra jobs due to 'tests' (and 'passthru') being stripped TODO: add a function in lib-release.nix to get derivations and add `.x86_64-linux` to them then we can just point release files to nixpkgs.tests.packageTestsForChannelBlockers instead of nixpkgs.tests.packageTestsForChannelBlockers.curl.withCheck
|
BTW, this is in |
|
reverted the release tests for now in #181220 |
curl is built many times during a stdenv rebuild
they are a bottleneck
Description of changes
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes