Silvan Mosberger
bfe48c9a44
check-by-name: Update pinned tooling
...
Includes https://github.com/NixOS/nixpkgs/pull/275539
2024-01-18 18:42:03 +01:00
Silvan Mosberger
0259a8b94d
nixpkgs-check-by-name/scripts: Use local Nixpkgs for dependencies
...
Especially needed because NIX_PATH is set to something custom in the
nix-shell of nixpkgs-check-by-name
2024-01-18 18:41:27 +01:00
Silvan Mosberger
a64d9bf4fd
Merge pull request #278687 from keanuk/check-by-name-multiple-failures
...
nixpkgs-check-by-name test that fails multiple validity checks
2024-01-17 21:39:37 +01:00
Silvan Mosberger
800a6d3031
Merge pull request #281399 from tweag/by-name-minor-improvements
...
tests.nixpkgs-check-by-name: Minor improvements
2024-01-17 21:36:27 +01:00
Silvan Mosberger
1516b35afa
check-by-name: Remove legacy CI script
...
See the removed comment for why it can be removed now
2024-01-17 21:26:39 +01:00
Silvan Mosberger
8cf3cd91b2
check-by-name: Update contributor docs
...
Now that the tooling is pinned instead of being fetched indirectly from
the channel, the docs need some updating
2024-01-17 21:26:39 +01:00
Silvan Mosberger
9997190a61
Merge pull request #281407 from tweag/by-name-local-run-platforms
...
check-by-name/run-local.sh: Make it usable for non-CI platforms
2024-01-17 21:21:12 +01:00
Silvan Mosberger
30af0cdab6
tests.nixpkgs-check-by-name: Test non-Nix invalid symlinks instead
...
Nix symlinks that are invalid don't pass the new CI check from
https://github.com/NixOS/nixpkgs/pull/279892 , so let's instead use
non-Nix symlinks.
2024-01-17 15:50:24 +01:00
Silvan Mosberger
cf90aa9a86
tests.nixpkgs-check-by-name: Don't test invalid Nix files
...
Since https://github.com/NixOS/nixpkgs/pull/279892 , there's a separate
check that makes sure all changed Nix files evaluate. To not trigger
that, we need to remove all invalid Nix expressions from the tests.
2024-01-17 15:50:21 +01:00
Silvan Mosberger
aba7e02e1c
tests.nixpkgs-check-by-name: Minor README.md update
2024-01-17 11:10:54 +01:00
Keanu Kerr
28c4666e8b
tests.nixpkgs-check-by-name: added test that fails multiple validity checks
2024-01-17 11:10:28 +01:00
Silvan Mosberger
9da57b5bd3
check-by-name/run-local.sh: Make it usable for non-CI platforms
...
Since https://github.com/NixOS/nixpkgs/pull/281374 , the
nixpkgs-check-by-name tooling is pinned to a specific /nix/store path to
avoid having to evaluate Nixpkgs in CI.
The same path is used for local runs, but that doesn't actually work
when you're trying to run it on a platform different from CI.
This commit makes it work by being clearer about platforms and making
local runs check out the correct Nixpkgs to evaluate the tool from.
2024-01-17 10:45:23 +01:00
Silvan Mosberger
2dd7f0e8b9
tests.nixpkgs-check-by-name: Use NIX_PATH for extra test files
...
This avoids the need for a bunch of Rust code, but also enables us to
fairly easily make all the Nixpkgs tests evaluatable within the
nix-shell
2024-01-17 10:43:12 +01:00
Silvan Mosberger
64ad8b6836
tests.nixpkgs-check-by-name: Limit source files
...
To prevent more rebuilds than necessary
2024-01-17 10:40:03 +01:00
Silvan Mosberger
a48d8eafc6
Merge pull request #281390 from tweag/by-name-alias-fix
...
tests.nixpkgs-check-by-name: Fix for aliases to packages in `pkgs/by-name` and better testing
2024-01-17 10:37:42 +01:00
Silvan Mosberger
6d5f575fd0
check-by-name: Remove legacy script
...
fetch-tool.sh was decommissioned in
https://github.com/NixOS/nixpkgs/pull/281374 , see the removed comment
for why it can only be removed now
2024-01-16 21:50:34 +01:00
Silvan Mosberger
0f27917d9a
tests.nixpkgs-check-by-name: Don't error for pkgs/by-name aliases
...
This was an oversight in https://github.com/NixOS/nixpkgs/pull/275539
not accounted for, which would've failed in CI
2024-01-16 21:18:37 +01:00
Silvan Mosberger
3ebd239cd5
tests.nixpkgs-check-by-name: Test on the current Nixpkgs
...
This test actually fails right now
2024-01-16 21:15:42 +01:00
Silvan Mosberger
91b754edff
tests.nixpkgs-check-by-name: Minor Nix build refactor
2024-01-16 21:15:40 +01:00
Silvan Mosberger
cc422e321e
workflows/check-by-name: Pin nixpkgs-check-by-name tool
...
Before this, the tool for CI would update when nixos-unstable updated,
which is kind of terrible because you don't know when it happens, and it
might break master.
In fact, the tooling _right now_ has a serious bug and shouldn't be used!
This PR addresses this by _pinning_ the tooling in Nixpkgs itself.
Updating the tooling now requires two PRs:
- The first PR to update the tooling source
- (wait for Hydra to build and publish it in nixos-unstable)
- The second PR to update the pinned tooling
In turn you know exactly when the changes are going to take effect.
This change however has additional benefits:
- It makes CI more reproducible, because it doesn't depend on the state
of nixos-unstable anymore
- Updates to the tooling can be tested with the workflow itself,
because PRs that update the pinned tool will be tested on the updated
version
- CI gets a sizable speed boost, because there's no need to download and
evaluate a channel anymore
- It makes it more realistic to move the source of the tool into a
separate repository
- It removes the brittle branch-specific logic that was previously
needed to ensure that release branches use their own version of the
tooling.
2024-01-16 19:58:19 +01:00
Silvan Mosberger
f61d02708f
Merge pull request #275539 from tweag/by-name-enforce
...
[RFC 140 2a] `pkgs/by-name`: Enforce for new packages
2024-01-15 23:10:18 +01:00
Silvan Mosberger
aa7dd0b596
tests.nixpkgs-check-by-name: Improve lib path handling in tests
...
nix-build failed because the tests assume to run in a CWD equal to the
project root, which is not the case in the derivation build.
This commit fixes it by not using hacky `..` references to paths,
and instead uses NIX_PATH for all implicit Nix testing path
dependencies.
Also the root of the `lib` path gets passed in from the `default.nix`
file, so all the relative path handling is done by Nix during evaluation
already, and in the Nix store when possible.
2024-01-15 18:34:16 +01:00
Someone Serge
875e43dfd7
cudaPackages.cuda{,-library}-samples: move to cuda-modules/
...
cudaPackages are part of the package set and should not depend on pkgs/test
2024-01-12 20:24:50 +00:00
Someone Serge
27b277b63c
tests.cuda: inherit the ready cudaPackages_XX.cuda-samples
...
...fixing the broken eval
2024-01-12 20:24:50 +00:00
K900
e7b611e59d
Merge remote-tracking branch 'origin/master' into staging-next
2024-01-12 13:59:54 +03:00
K900
8ef54ae956
pkgs/release: don't interpolate store paths unnecessarily
...
Avoids Nix 2.19 screaming about a path named ".version", also avoids creating
store paths of random subsets of nixpkgs.
2024-01-12 10:27:19 +03:00
Weijia Wang
2f9e98ccf3
Merge branch 'master' into staging-next
2024-01-10 23:12:44 +01:00
Weijia Wang
0373b68de5
Merge pull request #279581 from trofi/clang6Stdenv-and-co-removal
...
clang6Stdenv, clang-tools_6, clang_6, lld_6, lldb_6, llvm_6: remove
2024-01-10 23:11:42 +01:00
Silvan Mosberger
be26d74840
tests.nixpkgs-check-by-name: Add test for alternate callPackage's
...
Tests that alternate callPackage's don't give an error, so pkgs/by-name
is only required for pkgs.callPackage itself
2024-01-10 19:55:24 +01:00
Silvan Mosberger
d659d5f8ac
tests.nixpkgs-check-by-name: Use real lib for tests
...
This way we can also detect regressions caused by lib
2024-01-10 19:43:17 +01:00
Silvan Mosberger
cbff02834f
tests.nixpkgs-check-by-name: Sort the eval validation results
...
Not that important, but nice.
Also adds a nice test case show-casing the two current ratchet checks at
once.
2024-01-10 19:29:27 +01:00
Silvan Mosberger
57afdc545b
tests.nixpkgs-check-by-name: Enforce pkgs/by-name for new packages
2024-01-10 19:29:26 +01:00
Silvan Mosberger
69fc71a82c
tests.nixpkgs-check-by-name: Basic info for non-by-name attributes
...
In a future commit this will be extended
2024-01-10 19:28:19 +01:00
github-actions[bot]
122355be99
Merge master into staging-next
2024-01-10 00:02:18 +00:00
Silvan Mosberger
da3e72b915
Merge pull request #278805 from tweag/by-name-enforce-preparation
...
check-by-name: Refactor to prepare for enforcing `pkgs/by-name`, make `--base` required
2024-01-09 22:58:53 +01:00
Weijia Wang
927f9393c1
llvmPackages_6: remove
...
Remove as the last two users are gone.
2024-01-09 22:38:47 +01:00
Robert Hensing
098ffee102
Merge pull request #279487 from bryango/checkpoint-build-polish
...
checkpointBuildTools: mkCheckpointedBuild -> mkCheckpointBuild
2024-01-09 22:30:22 +01:00
Silvan Mosberger
a1db0cdf9b
tests.nixpkgs-check-by-name: .context -> .with_context
...
Avoids allocation in the non-error case
2024-01-09 19:39:50 +01:00
Silvan Mosberger
4cd2e64db3
tests.nixpkgs-check-by-name: Minor improvements from feedback
...
- Typo
- Rename AttributeRatchet to ToNixpkgsProblem
- Make the compare trait method into a RatchetState method
Co-Authored-By: Philip Taron <philip.taron@gmail.com>
2024-01-09 19:35:11 +01:00
K900
bff9ee8862
Merge remote-tracking branch 'origin/master' into staging-next
2024-01-09 13:03:34 +03:00
Silvan Mosberger
d79d3de85f
cudaPackages.cuda-library-samples: Only enable on Linux, fix channel
...
This very weirdly broke the channel evaluation: https://hydra.nixos.org/build/245871962/nixlog/1
It appears that this attribute is only evaluated by Hydra, _not_ by
ofborg. So this wouldn't have been detected by CI anyways in the PR that
introduced the problem: https://github.com/NixOS/nixpkgs/pull/276800 .
However, due to https://github.com/NixOS/nixpkgs/pull/271123#discussion_r1442134594 ,
the channel only broke once that was fixed with https://github.com/NixOS/nixpkgs/pull/278777
Whether the fix is good, I don't know, but the failing-on-darwin attribute
doesn't exist anymore with this commit, making the tarball build succeed
again:
nix-build pkgs/top-level/release.nix -A tarball
2024-01-08 22:03:40 +01:00
Bryan Lai
df62c3c87f
checkpointBuildTools: mkCheckpointedBuild -> mkCheckpointBuild
...
All other functions are in the form of `*{c,C}heckpointBuild*`, so we
deprecate the `mkCheckpointedBuild` function in favor of `mkCheckpointBuild`.
Also address some inconsistencies in the docs: some `buildOutput` should
actually be `incrementalBuildArtifacts`.
2024-01-08 19:42:16 +08:00
github-actions[bot]
a86f721682
Merge master into staging-next
2024-01-08 06:00:59 +00:00
Silvan Mosberger
6946071175
tests.checkpoint-build: Fix evaluation with allowAliases false
...
Was broken since introduced, but not caught due to
https://github.com/NixOS/nixpkgs/pull/271123#discussion_r1442134594
2024-01-07 23:25:41 +01:00
Silvan Mosberger
54b05324f4
tests.nixpkgs-check-by-name: Internal strip nixpkgs prefix
...
Strips the Nixpkgs prefix from the callPackage paths,
makes future error messages using this path be deterministic.
2024-01-05 02:01:55 +01:00
Silvan Mosberger
27c873af99
tests.nixpkgs-check-by-name: Deterministic ordering
...
Makes errors for attributes deterministic so it's easier to test (also,
reproducibility is always nice)
2024-01-05 02:01:55 +01:00
Silvan Mosberger
2a8f469348
tests.nixpkgs-check-by-name: Re-usable ratchet logic
...
This makes the attribute ratchet check logic more re-usable, which will
be used in a future commit.
It also renames the ratchet states to something more intuitive
2024-01-05 02:01:50 +01:00
Silvan Mosberger
ba6faf428f
tests.nixpkgs-check-by-name: Make --base required
...
CI now passes the flag, so it doesn't have to be optional anymore
2024-01-05 01:05:50 +01:00
Silvan Mosberger
66f29590c0
tests.nixpkgs-check-by-name: Set evaluation system to x86_64-linux
...
This was previously a checking impurity that could produce different
results when run on different systems.
2024-01-05 01:05:44 +01:00
Silvan Mosberger
5b7ae79ef0
tests.nixpkgs-check-by-name: Refactor eval code and improve comments
...
Does a bunch of cleanups to the eval.{rs,nix} code to make future
changes easier, no functionality is changed.
2024-01-03 19:56:54 +01:00