Commit Graph

786 Commits

Author SHA1 Message Date
Philip Taron
89cbfde96d
nixpkgs-vet: update CI, docs, and release to 0.1.4
Everything gets moved into the `ci/` top-level directory.

We keep behind `maintainers/scripts/check-by-name.sh` and `pkgs/test/check-by-name/pinned-version.txt` as they are going to cause CI errors and confusion until we get all the way through the various channels.
They'll be removed in about a week or so.
2024-09-03 13:53:25 -07:00
Anderson Torres
f72e74d7ae installShellFiles: migrate tests to tests subdirectory
Rationale: Since RFCs 140 and 146, the old category-based hierarchy is
deprecated and obsolete, and a new approach took place: packages should be as
self-contained as possible.

This paradigm is reflected in many new strict checks that prohibit a package to
refer to files outside its directory tree.

Following this spirit, this commit essentially moves nixpkgs
pkgs/test/default.nix to ./tests/default.nix.

Further, to keep the top-level `tests` attribute, a green alias is kept in the
place of older file.
2024-08-28 18:51:06 -03:00
Philip Taron
0d1b26857b
treewide: support structuredAttrs in setup hooks (part 2) (#335666) 2024-08-28 14:07:58 -07:00
Artturin
740804dd5f
patch-shebangs: don't patch shebangs with bash builtins (#330188) 2024-08-27 03:54:10 +03:00
github-actions[bot]
132f2322d0
Merge master into staging-next 2024-08-26 12:05:25 +00:00
Silvan Mosberger
e6d45588ad tests.haskell.cabalSdist: Prevent rebuilds when Nix files change
The generated file sets its own directory as the source, including the
generated file itself, which causes rebuilds when that file is
reformatted. We can avoid this by overriding the source with a filtered
version and using that throughout the tests.

See https://github.com/NixOS/nixpkgs/pull/320572 for more context
2024-08-25 04:59:11 +02:00
Silvan Mosberger
7cb66fd579 tests.makeBinaryWrapper: Prevent rebuilds when Nix files change
The source included way more files than it really needed.
This commit limits it to exactly those it needs.

This also makes sure that no rebuild is necessary when any Nix
file changes, in particular useful when we reformat the Nix files.
2024-08-25 04:59:11 +02:00
Wolfgang Walther
1efcffa700
stdenv: support default values in concatTo
The previously used pattern was introduced in #318614, but technically
leaked the default flags into the global scope. While this would
probably not make much of a practical difference, making concatTo
support default values is a much cleaner approach.
2024-08-24 12:23:35 +02:00
github-actions[bot]
8751a0ec8d
Merge master into staging-next 2024-08-24 00:12:18 +00:00
Azat Bahawi
c5e8f89f3a
autoPatchelfHook: fix tests 2024-08-23 13:08:05 +03:00
K900
5c68540f8b Merge remote-tracking branch 'origin/staging-next' into staging 2024-08-22 13:20:38 +03:00
Philip Taron
abcb8ef242
tests.texlive: remove with statements 2024-08-18 06:32:22 -07:00
github-actions[bot]
26d52a889c
Merge staging-next into staging 2024-08-16 18:01:47 +00:00
Doron Behar
0d920a91a2
Merge pull request #225051 from ShamrockLee/go-module-overlay-stdenv
buildGoModule: Fix overriding with overlay-style stdenv
2024-08-16 15:44:15 +00:00
Felix Buehler
1517dd9072 tests.kernel-config: remove 'with lib;' 2024-08-16 16:09:03 +02:00
Someone
ccaaa9ca53
Merge pull request #318614 from wolfgangwalther/structured-attrs-setup-hooks
treewide: support structuredAttrs in setup hooks
2024-08-13 19:29:36 +00:00
Someone Serge
9876c2fe9e stdenv: concatStringsSep: test sep="&"
The test fails without 64eaa63181
("stdenv: concatStringsSep: quote ${sep}")

Co-authored-by: Ivan Trubach <mr.trubach@icloud.com>
Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
2024-08-11 23:54:15 +00:00
Yueh-Shun Li
eed069a5bc buildGoModule: fix overrideAttrs overriding
Fix overriding of vendorHash and various attributes via the fixed point
attribute support of stdenv.mkDerivation.

Pass as derivation attributes
goModules, modRoot, vendorHash, deleteVendor, and proxyVendor.

Move goModules and vendorHash out of passthru.

Co-authored-by: Doron Behar <doron.behar@gmail.com>
2024-08-11 13:38:11 +08:00
David McFarland
7f2de09531
Merge pull request #331398 from MattSturgeon/dotnet-finalAttrs
buildDotnetModule: add `finalAttrs` support
2024-08-07 22:06:07 -03:00
Philip Taron
b0b3172fb4
replaceVars: init 2024-08-07 07:27:50 -07:00
Matt Sturgeon
79d26048de
buildDotnetModule: add finalAttrs support
Allow users to pass arguments to `buildDotnetModule` in the form:

```nix
buildDotnetModule (finalAttrs: {
  # Args
})
```

Exposing the behaviour of the underlying `mkDerivation` and allowing
packages to be defined in a recursive way that works correctly even when
the package is overridden, e.g. using `overrideAttrs`.

Added some simple test cases that piggyback on the existing
`structured-attrs` test.
2024-08-06 16:33:49 +01:00
Motiejus Jakštys
bbd0655ae8 add compressDrv and compressDrvWeb
*compressDrv* compresses files in a given derivation.

*compressDrvWeb* compresses a derivation for a loosely-defined
pre-compressed "web server" usage.

This intends to replace the `passthru.data-compressed` derivations that
have accumulated in nixpkgs with something more reusable.
2024-08-04 10:10:16 +03:00
Wolfgang Walther
471cbdd062
stdenv: add concatStringsSep helper
This can be used to separate lists for example with commas, when
creating argument strings. This works with both structuredAttrs disabled
and enabled.
2024-08-02 22:11:41 +02:00
Wolfgang Walther
6bdfef9d2d
stdenv: generalize _accumFlagsArray to concatTo
Passing "flagsArray" as the first argument allows using this function
in a few more places.
2024-08-02 22:11:38 +02:00
Wolfgang Walther
929db7bc22
tests.stdenv: fix spelling 2024-08-02 21:54:25 +02:00
Minijackson
24655f7804
patch-shebangs: don't patch shebangs with bash builtins
'command -v builtin' returns 'builtin', which doesn't suit us since
we're looking for program in the given PATH. This could give us shebangs
like this:

    #!builtin

which is surprising.

Switch to 'type -P command' which always returns a path, even if command
is both a builtin and an executable (for example 'test'), or fail is
'command' is just a builtin.
2024-07-29 11:40:29 +02:00
Emily
4c89bb901d
Merge pull request #253186 from risicle/ris-hardening-tests-fixups
cc-wrapper hardeningFlags tests: fix expected behaviour in corner cases, add tests for `stackclashprotection`
2024-07-28 19:07:14 +01:00
Robert Hensing
70d94d8360
Merge pull request #330434 from ShamrockLee/test-overriding-attrs
tests.overriding: structure tests as an attribut set
2024-07-28 15:13:32 +02:00
Yueh-Shun Li
fdd16729a2 tests.overriding: structure tests as an attribut set
Make individual tests accessible via tests.override.tests.<name>
2024-07-27 22:42:30 +08:00
infinixbot
0fe7950b90 nixpkgs-check-by-name: 0.1.1 -> 0.1.2
https://github.com/NixOS/nixpkgs-check-by-name/releases/tag/0.1.2
2024-07-26 23:56:38 +00:00
Sigmanificient
6dd44107ac treewide: remove unused lib (and other) arguments 2024-07-26 11:18:09 +02:00
Tristan Ross
3b64853264
tests: enable llvmPackages_git (#329570) 2024-07-24 00:23:23 -04:00
Philip Taron
31e3a945db
tests.cuda.cudaPackages: remove __attrsFailEvaluation since the attrset evaluates 2024-07-17 11:49:13 -07:00
Robert Scott
2e0d7e230a cc-wrapper hardeningFlags tests: fix stdenvUnsupport-based tests
these were not updated to understand
hardeningUnsupportedFlagsByTargetPlatform when it was added
causing more tests to fail for clang than otherwise would
2024-07-15 19:28:11 +01:00
Robert Scott
38b580b21a cc-wrapper hardeningFlags tests: add tests for stackclashprotection 2024-07-15 19:28:02 +01:00
Robert Scott
ec8d29ab82 cc-wrapper hardeningFlags tests: fix expected behaviour in corner cases
also use fortify1-based tests in some places that it may allow us
to better test the behaviour of toolchains that only support that
2024-07-12 22:30:18 +01:00
Silvan Mosberger
06a8bee760
Merge pull request #323398 from NixOS/prep-dev-shell
init `devShellTools`
2024-07-03 05:19:42 +02:00
jade
b8946c1bf2
Merge pull request #319220 from ExpidusOS/fix/test-infinite-recurse
Fix failures with pkgs/top-level/release-attrpaths-superset.nix
2024-06-30 09:00:23 -07:00
Tristan Ross
013ade6562
pkgs/test/stdenv/default.nix: fix eval on darwin 2024-06-30 07:00:11 -07:00
Robert Hensing
091d8370a2 devShellTools: init (empty) 2024-06-29 16:41:13 +02:00
Robert Hensing
0c1fbe5fc5 doc: Explain cabalSdist test 2024-06-26 05:03:41 +02:00
sternenseemann
b1acf7bab9 Revert "tests.haskell.cabalSdist.localFromCabalSdist: prevent unnecessary rebuilds"
This reverts commit 81c06bc609.

Reason for revert: This change breaks the
`tests.haskell.cabalSdist.assumptionLocalHasDirectReference` test which
relies on checking for the test source store path in the resulting
derivation files. 81c06bc609 did not
account for this in the change (though it should be possible).
2024-06-21 18:06:15 +02:00
Philip Taron
53f06894e1
tests.haskell.setBuildTarget: prevent unnecessary rebuilds 2024-06-17 09:49:33 -07:00
Philip Taron
81c06bc609
tests.haskell.cabalSdist.localFromCabalSdist: prevent unnecessary rebuilds 2024-06-17 09:39:16 -07:00
David McFarland
b5447275d2
Merge pull request #313005 from tie/dotnet-cross
buildDotnetModule: fix structured attributes support
2024-06-17 09:43:51 -03:00
Will Fancher
1c3e955638
Merge pull request #317053 from ju1m/fix-pkgs-test-runTests
pkgs/test: fix silent failures when using runTests
2024-06-07 00:48:01 -04:00
Julien Moutinho
2951758f51 pkgs/test: fix silent failures when using runTests 2024-06-04 02:45:36 +02:00
David McFarland
a7a6356c14 tests.dotnet.project-references: use dir instead of file output
This fixes an error in nixpkgs-review when it tries to pass this to
buildEnv:

error: The store path [...]project-references-test is a file and can't
be merged into an environment using pkgs.buildEnv! at [...]-builder.pl
line 122.
2024-06-02 16:53:42 -03:00
Weijia Wang
d95b1060ca
Release NixOS 24.05 2024-05-31 20:17:44 +02:00
isabel
63aceac766 treewide: remove unused occurence of fetchFromGitHub argument 2024-05-30 05:56:07 +00:00
Ivan Trubach
f7d8046fb8 buildDotnetModule: fix structured attributes support
This change refactors internal hooks used by buildDotnetModule to
support derivations with structured attributes. Note that this changes
variable names that the internal hooks expect.
2024-05-29 08:45:25 +03:00
github-actions[bot]
0184a255d7
Merge staging-next into staging 2024-05-13 18:01:35 +00:00
Gaetan Lepage
9c9f01b670 cudaPackagesGoogle: deprecate as only used by tensorflow 2024-05-12 17:23:53 +02:00
Peter Waller
3c03811683 llvmPackages_*.libcxx: include libcxxabi within libcxx
Key test case: nixpkgs#pkgsStatic.pkgsLLVM.ncurses

Prior to this patch, this fails with errors such as:

```
error: undefined symbol: __cxa_throw
```

I think this is a reasonable solution because in #292043, libcxxabi was
'merged into libcxx', however, the commit message suggests that only
dynamic linking was accounted for, because it says:

```
* linux/freebsd `libc++.so` is a linker script `LINK(libc++.so.1, -lc++abi)` making `-lc++` sufficient.
```

Whereas, I found that if I tried linking a "hello world" C++ program
with a static hostPlatform, it failed unless -lc++abi was passed.

Signed-off-by: Peter Waller <p@pwaller.net>
2024-05-10 17:22:20 +02:00
Robert Hensing
837966790c tests.config: Simplify example
authy was about to be removed, so this test had to be updated.
2024-04-24 12:46:23 +02:00
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