1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-17 19:21:04 +00:00
Commit graph

781 commits

Author SHA1 Message Date
Jade Lovelace 78945a827c stdenv: make inputDerivation never fixed-output
This fixes using inputDerivation on derivations that are fixed-output.

Previously:

```
nix-repl> drv = runCommand "huh" { outputHash = "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU="; outputHashAlgo = "sha256"; outputHashType = "flat"; } "touch $out"

nix-repl> drv.inputDerivation
«derivation /nix/store/d8mjs6cmmvsr1fv7psm6imis5pmh9bcs-huh.drv»

nix-repl> :b drv.inputDerivation
error: fixed output derivation 'huh' is not allowed to refer to other store paths.
       You may need to use the 'unsafeDiscardReferences' derivation attribute, see the manual for more details.
```

Fixes: https://github.com/NixOS/nixpkgs/issues/304209
2024-04-15 00:52:28 -07:00
infinixbot af887c78d2 nixpkgs-check-by-name: 0.1.0 -> 0.1.1
https://github.com/NixOS/nixpkgs-check-by-name/releases/tag/0.1.1
2024-04-10 15:11:05 +00:00
Tristan Ross b1ef46706f
llvmPackages_9: remove due to age 2024-04-08 22:39:53 -07:00
Dmitry Kalinkin ce426df9bb
Merge pull request #294826 from xworld21/texlive-install-tl
texlive.withPackages: replace postBuild with install-tl like script
2024-03-31 16:43:12 -04:00
Vincenzo Mantova 87216540ef tests.texlive.context: check that the PDF has been created 2024-03-29 13:04:00 +00:00
Vincenzo Mantova 7ab4733846 tests.texlive.fmtutilCnf: remove
The fmtutilCnf test does not fit the new way of generating fmtutil.cnf.
2024-03-29 13:04:00 +00:00
Silvan Mosberger 56837f26e2 tests.nixpkgs-check-by-name: Remove now that a separate repo is used
Since https://github.com/NixOS/nixpkgs/pull/297901, the tool is fetched
from https://github.com/NixOS/nixpkgs-check-by-name, so there's no need
to keep it around in Nixpkgs anymore
2024-03-26 21:37:07 +01:00
Silvan Mosberger b42fbdd7ea check-by-name: Remove now-unnecessary scripts/pinned-tool.json
It was not removed in https://github.com/NixOS/nixpkgs/pull/297901 so
that CI for that PR itself would not fail since CI runs from the base
branch.
2024-03-26 21:36:43 +01:00
Silvan Mosberger f7ea336cb2 workflows/check-by-name.yml: Switch to new separate repo
The nixpkgs-check-by-name tooling is [being moved](https://github.com/NixOS/nixpkgs/issues/286559#issuecomment-2000466124)
to a [separate repo](https://github.com/NixOS/nixpkgs-check-by-name).

This commit updates Nixpkgs CI to use it instead of the tree inside
Nixpkgs

No changes have been made to the tooling locally since it was moved:
- [Exported history](55bf02190e/pkgs/test/nixpkgs-check-by-name)
- [Imported history](d579e1821d/)
2024-03-26 21:24:48 +01:00
annalee ca5e01c3f4
treewide: drop LLVM11 2024-03-19 14:54:23 +00:00
Silvan Mosberger 1f75612fd5
Merge pull request #296324 from willbush/by-name-update-envc
check-by-name: Update .envrc to avoid using deprecated command
2024-03-18 02:35:14 +01:00
Will Bush d7750c43b2
check-by-name: Update .envrc to remove deprecated command
Noticed the following warning:

```
direnv: `nix_direnv_watch_file` is deprecated - use `watch_file`
```

Which seems to come from here:

6455f38a8d/direnvrc (L207)

Seems this check is no longer needed

check-by-name: Remove check from .envrc

Co-authored-by: Silvan Mosberger <github@infinisil.com>
2024-03-16 20:45:09 -05:00
github-actions[bot] 87dfdf055e
Merge master into haskell-updates 2024-03-12 00:12:17 +00:00
Silvan Mosberger ec758e1f6f check-by-name: Update pinned tooling
Includes https://github.com/NixOS/nixpkgs/pull/290743
2024-03-06 05:33:01 +01:00
github-actions[bot] b74f04cf79
Merge master into haskell-updates 2024-03-03 00:13:21 +00:00
Silvan Mosberger 4b8265ab7f
Merge pull request #290743 from tweag/by-name-better-errors 2024-03-02 02:28:37 +01:00
Silvan Mosberger fb0a07229f tests.nixpkgs-check-by-name: More inline format! arguments
Now that the previous commit removed all the .display()'s that were
previously necessary for PathBuf's, but now aren't for RelativePathBuf,
we can also inline the format! arguments
2024-03-01 23:07:37 +01:00
Silvan Mosberger 5981aff212 tests.nixpkgs-check-by-name: Use RelativePath for relative paths
Makes the code easier to understand and less error-prone
2024-03-01 23:07:34 +01:00
Silvan Mosberger 7858f06288 tests.nixpkgs-check-by-name: Better empty argument error 2024-03-01 01:50:05 +01:00
Silvan Mosberger f056449c46 tests.nixpkgs-check-by-name: Fix absolute path in errors 2024-03-01 01:42:28 +01:00
Silvan Mosberger 2e8d778994 tests.nixpkgs-check-by-name: Various minor improvements
Co-Authored-By: Philip Taron <philip.taron@gmail.com>
2024-03-01 01:12:11 +01:00
github-actions[bot] 47e7b83fd1
Merge master into haskell-updates 2024-02-29 00:12:06 +00:00
Silvan Mosberger cd5dc76d83 substitute: Deprecate replacements, introduce replacementsList
Also:
- Add tests
- Treewide update
- Improve docs
2024-02-29 00:35:27 +01:00
Will Fancher f5622df470
Merge pull request #290946 from ju1m/systemd-option-list
nixos/systemd: merge unit options as lists when at least one value is a list
2024-02-27 20:49:39 -05:00
Julien Moutinho 7d0c812963 nixos/systemd: merge unit options as lists when at least one value is a list 2024-02-25 01:20:29 +01:00
github-actions[bot] 257171f024
Merge master into haskell-updates 2024-02-25 00:13:49 +00:00
Silvan Mosberger 64da6178bf tests.nixpkgs-check-by-name: Fix internal docs 2024-02-23 02:32:27 +01:00
Silvan Mosberger d2fa5bafa9 tests.nixpkgs-check-by-name: Improve errors for new packages
Or rather, make it more consistent
2024-02-23 02:17:47 +01:00
Silvan Mosberger ce271786de tests.nixpkgs-check-by-name: More spaces in errors 2024-02-23 02:16:49 +01:00
Silvan Mosberger 1c4308c352 tests.nixpkgs-check-by-name: Better error for empty second arg 2024-02-23 01:54:05 +01:00
Silvan Mosberger eb1f01440a tests.nixpkgs-check-by-name: More consistent errors 2024-02-23 01:53:45 +01:00
Silvan Mosberger f5e9b88af4 tests.nixpkgs-check-by-name: Evaluate base and main branch in parallel 2024-02-23 01:25:34 +01:00
Silvan Mosberger db7562e886 tests.nixpkgs-check-by-name: Improve errors relating to the base branch 2024-02-23 01:05:26 +01:00
Silvan Mosberger 75cdccd6c4 tests.nixpkgs-check-by-name: Improve more errors 2024-02-23 00:10:20 +01:00
Silvan Mosberger 7258d472bc tests.nixpkgs-check-by-name: Improve non-syntactic callPackage error more 2024-02-22 23:43:02 +01:00
Silvan Mosberger a53b07e252 tests.nixpkgs-check-by-name: Improve error for wrong package file 2024-02-22 23:04:40 +01:00
Silvan Mosberger 24069b982d tests.nixpkgs-check-by-name: Better error for non-syntactic callPackage 2024-02-19 23:42:34 +01:00
Silvan Mosberger a61c8c9f5c tests.nixpkgs-check-by-name: Fix allowing non-path overrides
An edge case was allowed when it shouldn't be: A package defined in
`pkgs/by-name` could be overridden in `all-packages.nix` if it was of
the form `callPackage (<expr>) { <non-empty> }`.

This is not right, it's required that the first argument be the path
matching the package to be overridden.
2024-02-19 23:41:59 +01:00
Silvan Mosberger 712ac796e5 tests.nixpkgs-check-by-name: Improve inherit detection
Detect inherit's better, such that a future commit can use this
information in an error message
2024-02-19 22:02:27 +01:00
github-actions[bot] 743ad436a7
Merge master into haskell-updates 2024-02-18 00:13:34 +00:00
github-actions[bot] e662338182
Merge staging-next into staging 2024-02-17 12:01:31 +00:00
DavHau 81d43b9b83 fetchPypiLegacy: add test 2024-02-17 17:11:59 +13:00
Rick van Schijndel b728d76d0e
Merge pull request #255463 from emilylange/stdenv/patch-shebangs-trailing-newline
patch-shebangs: fix crash with shebang without trailing newline
2024-02-16 18:33:27 +01:00
github-actions[bot] ed9046f8aa
Merge master into haskell-updates 2024-02-13 00:13:09 +00:00
Silvan Mosberger ea4cd5c63d check-by-name: Update pinned tooling
Includes https://github.com/NixOS/nixpkgs/pull/287083
2024-02-12 02:23:40 +01:00
github-actions[bot] 63f3a9268c
Merge master into haskell-updates 2024-02-10 00:12:04 +00:00
Silvan Mosberger 50fcc65142 check-by-name: Update pinned tool
Includes https://github.com/NixOS/nixpkgs/pull/285089
2024-02-09 03:06:05 +01:00
github-actions[bot] ae051d93c2
Merge master into haskell-updates 2024-02-09 00:12:19 +00:00
Silvan Mosberger 92284634ec tests.nixpkgs-check-by-name: Test against sbcl-like regression
This adds a test to check that a commit like 0a3dab4af3 would fail CI

After doing some improvements to the `pkgs/by-name` check I discovered
that sbcl shouldn't have been allowed in `pkgs/by-name` after all as is.

Specifically, the requirement is that if `pkgs/by-name/sb/sbcl` exists,
the definition of the `sbcl` attribute must look like

    sbcl = callPackage ../by-name/sb/sbcl/package.nix { ... };

However it currently is an alias like

    sbcl = sbcl_2_4_1;

This wasn't detected before because `sbcl_2_4_1` was semantically
defined using `callPackage`:

    sbcl_2_4_1 = wrapLisp {
      pkg = callPackage ../development/compilers/sbcl { version = "2.4.1"; };
      faslExt = "fasl";
      flags = [ "--dynamic-space-size" "3000" ];
    };

However this doesn't syntactically match what is required.

In https://github.com/NixOS/nixpkgs/pull/285089 I introduced syntactic
checks for exactly this, but they were only used for packages not
already in `pkgs/by-name`.

Only now that I'm doing the refactoring to also use this check for
`pkgs/by-name` packages this problem is noticed.

While introducing this new check is technically an increase in
strictness, and therefore would justify adding a new ratchet, I consider
this case to be rare enough that we don't need to do that.

This commit introduces a test to prevent such regressions in the
future

Moving sbcl back out of `pkgs/by-name` will be done when the pinned CI is updated
2024-02-08 02:38:11 +01:00
Silvan Mosberger 89a7afabf8 tests.nixpkgs-check-by-name: Improve code
- Detect manual use of _internalCallByNamePackageFile for packages in
  `pkgs/by-name` (can't be done for others though)
- Separate error message for when attribute locations can't be
  determined for `pkgs/by-name` attributes
- Much better structure of the code in eval.rs, representing more
  closely what is being checked
- Much more extensive comments
2024-02-08 02:38:08 +01:00
Silvan Mosberger ebbe86306f tests.nixpkgs-check-by-name: More tests
For some previously untested cases. In a future commit, those tests will
also be adjusted slightly
2024-02-08 00:02:45 +01:00
github-actions[bot] 0e09aea96c
Merge master into haskell-updates 2024-02-06 00:12:25 +00:00
Silvan Mosberger 70f9d315a1
Merge pull request #285089 from tweag/by-name-syntactic-callPackage
tests.nixpkgs-check-by-name: Syntactic `callPackage` detection and allow new package variants
2024-02-05 20:47:09 +01:00
Silvan Mosberger 474e7e7040 tests.nixpkgs-check-by-name: Refactor eval.rs
There was too much indentation!
2024-02-05 01:37:09 +01:00
Silvan Mosberger 37a54e3ad5 tests.nixpkgs-check-by-name: Apply feedback from review
https://github.com/NixOS/nixpkgs/pull/285089#pullrequestreview-1861099233

Many thanks, Philip Taron!
2024-02-05 01:35:52 +01:00
github-actions[bot] 05ce1c8cd3
Merge master into haskell-updates 2024-02-01 00:13:01 +00:00
Atemu 52418a5183
Merge pull request #279844 from doronbehar/tests/buildFHSEnv
tests.buildFHSEnv.libtinfo: init
2024-01-31 16:09:16 +01:00
github-actions[bot] 99d08bb877
Merge master into haskell-updates 2024-01-31 00:12:49 +00:00
Silvan Mosberger 7d1f0a4cd4 tests.nixpkgs-check-by-name: Allow new package variants 2024-01-30 22:45:18 +01:00
Silvan Mosberger 46da6c5c1f tests.nixpkgs-check-by-name: Format
With `cargo fmt`

Explicitly didn't do that for previous commits in order to keep the diff
more easily reviewable
2024-01-30 21:54:04 +01:00
Silvan Mosberger db435ae516 tests.nixpkgs-check-by-name: Re-use nixFileCache more
Makes the reference check use the nixFileCache instead of separately
parsing and resolving paths
2024-01-30 21:54:04 +01:00
Silvan Mosberger 0bcb052284 tests.nixpkgs-check-by-name: Syntactic callPackage detection
This makes the callPackage detection stronger by syntactically detecting
whether an attribute is using callPackage

See the added test case for why this is needed.
2024-01-30 21:53:59 +01:00
Silvan Mosberger ed892915b8 tests.nixpkgs-check-by-name: LineIndex functionality, semantics, tests
- `fromlinecolumn` is added to be almost the reverse of `line`.
  This is needed in the future to get from `builtins.unsafeGetAttrPos`
  locations to the index for rnix
- Previously the semantics for newline indices were not really defined,
  now they are, and make more sense.
- Now there's a unit test for these functions
2024-01-30 21:19:05 +01:00
annalee 9e5b7b2ceb
treewide: drop LLVM10 2024-01-30 06:30:28 +00:00
a-n-n-a-l-e-e 425588f207
Merge pull request #283551 from a-n-n-a-l-e-e/llvmPackages_8-drop
treewide: drop LLVM8
2024-01-29 22:25:38 -08:00
github-actions[bot] b0233d387c
Merge master into haskell-updates 2024-01-30 00:12:10 +00:00
Silvan Mosberger 142922295d check-by-name: Don't use -I in shebang
Original commit from https://github.com/NixOS/nixpkgs/pull/282226,
message:

Running CI locally is broken becauses the `-I` argument:

- Clobbers $NIX_PATH
- Is wrong for two reasons:
  - Has too many `..` elements, relative to the script's location
  - Isn't relative to the script's location (as with *.nix files),
    since shell scripts and POSIX in general interpret paths
    relative to the current working directory, not the canonical
    path of argv[0]
- Is inconsistent, since this script has symlinks pointing at it
  from different depths in the repository

There is no way to set this flag statically in a way that will work
everywhere.  The caller needs to use $NIX_PATH, or the script needs
to take the `-I` value as an argument.

This commit deletes the static `-I` flag.
2024-01-29 13:39:26 +01:00
Silvan Mosberger 9c149d289e check-by-name: Update pinned tooling
Includes https://github.com/NixOS/nixpkgs/pull/283017
2024-01-29 13:38:55 +01:00
github-actions[bot] bc838f6bd7
Merge master into haskell-updates 2024-01-28 00:13:47 +00:00
Vincenzo Mantova 253025b370 texlive: 2022-final -> 2023.20240114
Co-authored-by: apfelkuchen06 <apfelkuchen@hrnz.li>
2024-01-27 09:32:22 +00:00
apfelkuchen06 2e2b6d13e2 tests/texlive: add a context test
Since context now uses the luametatex engine, which is not distributed with
texlive, the probability of breaking it when updating increases. Let's add a
simple test just in case.

Co-authored-by: Vincenzo Mantova <1962985+xworld21@users.noreply.github.com>
2024-01-27 09:32:20 +00:00
github-actions[bot] acd0181532
Merge master into haskell-updates 2024-01-26 00:12:48 +00:00
annalee 7a0dc7c7e8
treewide: drop LLVM8 2024-01-25 12:24:51 +00:00
Sergei Trofimovich 9b5c93da36 tests.cross.sanity: fix eval by fixing qt5.qutebrowser reference
Without the change the eval fails as:

    $ nix build --no-link -f. tests.cross.sanity

       error: attribute 'qutebrowser' missing

       at pkgs/test/cross/default.nix:157:5:

          156|     # Two web browsers -- exercises almost the entire packageset
          157|     pkgs.pkgsCross.aarch64-multiplatform.qt5.qutebrowser
             |     ^
          158|     pkgs.pkgsCross.aarch64-multiplatform.firefox
2024-01-25 10:51:29 +00:00
github-actions[bot] 395b0f9a10
Merge master into haskell-updates 2024-01-25 00:13:22 +00:00
Weijia Wang cdb02f1ec6
Merge pull request #283598 from Artturin/fixerr1
tests.cc-wrapper: fix error
2024-01-25 00:19:51 +01:00
Artturin 1d1d938bf0 tests.cc-wrapper: fix error
`error: llvmPackages_{6,7} has been removed from nixpkgs`
2024-01-24 22:50:16 +02:00
Silvan Mosberger 553b1ab654 tests.nixpkgs-check-by-name: Don't enforce for fixed evals
Stops enforcing that packages whose evaluation gets fixed have to be
moved to `pkgs/by-name`.

This didn't really cause problems before, but I don't think it's great
behavior, and now that NonApplicable is a thing, we can easily make this
work, whereas before it would've been a larger change.
2024-01-22 23:16:46 +01:00
Silvan Mosberger 4245e618e7 tests.nixpkgs-check-by-name: Introduce a non-applicable ratchet state
Introduces NonApplicable as a state of a ratchet, to be used when the
ratchet doesn't make sense to have.

This fixes an odd problem where before, changing an attribute to use
e.g. `callPackage` suddenly requires moving it to `pkgs/by-name`, when that
shouldn't have been required.
2024-01-22 23:13:58 +01:00
Silvan Mosberger 5e173ab0f4 tests.nixpkgs-check-by-name: Minorly more minimal test files 2024-01-22 22:58:33 +01:00
Silvan Mosberger a48038d309 tests.nixpkgs-check-by-name: Minor code improvements
- Renames EmptyNonAutoCalled to ManualDefinition and add some docs to
  better explain what it's for
- Don't conflate the Ratchet type with the Context type, keep them
  apart, making the code a bit cleaner, but also allows adding
  additional context for a Tight ratchet in the future
- Change the signature of to_nixpkgs_problem to align with the other
  ratchet function signatures
2024-01-22 22:56:21 +01:00
github-actions[bot] fc9b80e7a3
Merge master into haskell-updates 2024-01-20 00:12:49 +00:00
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
github-actions[bot] 393ca0ec36
Merge master into haskell-updates 2024-01-18 00:13:11 +00: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
github-actions[bot] a197d50282
Merge master into haskell-updates 2024-01-17 00:13:05 +00: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
Doron Behar 3b6e224d12 tests.buildFHSEnv.libtinfo: fix by using overriden ncurses 2024-01-16 10:19:46 +02:00
github-actions[bot] e0c9a6db2a
Merge master into haskell-updates 2024-01-16 00:13:07 +00: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
Dennis Gosnell 9cc4b19ee6
tests.haskell.shellFor: change from using linear to cereal
The current version of linear (1.22) has incorrect constraints in its
cabal file (which has been corrected in a revision), so it is causing
this test to fail.

This commit just switches to another arbitrary package (cereal) for the
tests.
2024-01-15 18:25:53 +09: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
Doron Behar 92a0043ecf tests.buildFHSEnv.libtinfo: init 2024-01-10 08:17:07 +02:00
Doron Behar d3332be38c tests.buildFHSEnv.liblzma: init
Do so in a generalized manner.
2024-01-10 08:17:07 +02: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
K900 887e96e875 Merge remote-tracking branch 'origin/master' into staging-next 2024-01-02 10:55:23 +03:00
maralorn 5518af0a55 haskellPackages: Fix eval errors 2024-01-01 19:16:21 +01:00
maralorn 7b4156edda haskellPackages: Fix eval errors 2024-01-01 18:28:31 +01:00
Connor Baker dd4723bad7
Merge pull request #272752 from ConnorBaker/feat/autoPatchelf-support-structuredAttrs
auto-patchelf: add support for __structuredAttrs
2023-12-21 19:09:56 -05:00
Silvan Mosberger 02b3c06b1c
Merge pull request #274591 from tweag/by-name-reproducible
`pkgs/by-name`: Enable gradual migration checks and add `run-local.sh`
2023-12-22 00:17:37 +01:00
Silvan Mosberger e130ee33a1 pkgs/test/nixpkgs-check-by-name/scripts: Various improvements
- trace function, avoids littering `echo >&2` all throughout
- Avoid `eval`, remove unneeded shellcheck

Co-Authored-By: Victor Engmark <victor@engmark.name>
2023-12-22 00:04:16 +01:00
Yann Hamdaoui 00d0418804
Test __structuredAttrs support in autoPatchelf
This commit adds a test for the newly added support for
__structuredAttrs in autoPatchelf(hook). It copied a reasonably
small-closure binary derivation that makes use of autoPatchelf, stripped
it down for the purpose of the test, and check that autoPatchelf
correctly set the interpreter and runpath whether __structuredAttrs is
set to true or not.
2023-12-21 15:42:20 +01:00
Silvan Mosberger 1968beeabd check-by-name: Pass --base in CI and local running script
This enables the ratchet checks for pkgs/by-name, allowing gradual
migrations!
2023-12-20 17:38:06 +01:00
Silvan Mosberger 9e03178865 tests.nixpkgs-check-by-name: Add documentation for scripts 2023-12-20 17:38:05 +01:00
Silvan Mosberger 92238ac52d tests.nixpkgs-check-by-name: Create script to run locally
Due to the check soon depending on the base branch (see `--base`),
the CI check can't reasonably share all code with a local check.
We can still make a script to run it locally, just not sharing all code.
2023-12-20 17:38:03 +01:00
Silvan Mosberger 3869ba4127 workflows/check-by-name: Move tool fetching into script
This part of the CI can also be reproduced locally
2023-12-19 23:15:01 +01:00