Commit graph

224 commits

Author SHA1 Message Date
Winter
4d113f8044 ci: Update pinned Nixpkgs
From the nixpkgs-unstable channel: https://hydra.nixos.org/eval/1815229#tabs-inputs
2025-05-13 21:12:32 -04:00
Wolfgang Walther
1893f5439e
workflows/check-format: run on all files
This was run on .nix files only, but we recently added keep-sorted,
editorconfig-checker and actionlint to treefmt, so CI needs to check all
files instead.
2025-05-13 08:24:25 +02:00
SomeoneSerge
918bbc36dd OWNERS: add cuda-maintainers 2025-05-12 23:03:03 +00:00
Winter
940c27de00 OWNERS: remove ehmry
User was banned [0], so do this to stop the CI from failing.

[0]: 0629826825
2025-05-12 17:47:07 -04:00
Wolfgang Walther
af6faf8760
workflows/eval: remove attrs step
Previously, the attrs step consisted of:
- 7s queue time
- 1m 15s run time

Only 25s of this were spent preparing the attr paths. A bit more than a
minute was just spent for queuing, checking out the repo, downloading
nix, downloading dependencies, uploading the artifacts - and then
downloading them again in the next step. All of that can be avoided if
we collect the attrs as part of the outpaths job.

By running the attrs step as part of each outpaths step the attrpaths
will be collected 4x, but:
- We save a minute for each eval run to complete.
- We save a full job, giving us more free runners and *possibly* less
queue times for other jobs in the repo.
- We reduce complexity in the workflow file.
2025-05-11 22:22:48 +02:00
Wolfgang Walther
962836d4d0
workflows/get-merge-commit: return targetSha
We can fetch the targetSha directly with the mergedSha from the API.
This avoids a checkout with fetch-depth: 2 for a small performance
improvement.
2025-05-11 22:22:47 +02:00
Wolfgang Walther
456a4697b1
workflows/eval: load supportedSystems from JSON file
This is a refactor to prepare the next commit. It doesn't do much on its
own, but is separated for ease of review.
2025-05-11 22:22:45 +02:00
Jörg Thalheim
53a79ee500
workflows/check-format: add actionlint (#406114) 2025-05-11 12:55:51 +02:00
Jörg Thalheim
7fd771ee97
ci: allow running jobs locally (#404466) 2025-05-11 12:28:04 +02:00
Wolfgang Walther
101a271eed
ci/parse: test for nix 2.3 and lix
This adds the minimum nix version and the latest lix version to the
matrix of parse checks. Especially the minimum nix version is relevant,
because parsing routinely breaks because of introduction of newer
syntax.

Adding lix just completes the picture.
2025-05-11 12:14:59 +02:00
Wolfgang Walther
a553ef2950
ci/parse: init
The nix-parse workflow can now be run locally the same way as in CI.

To do this, the CI's workflow was slightly adjusted. Instead of testing
only the changed files, we're now testing all files in the repository.

This is possible in two ways:

1. By calling nix-instantiate once with all files as arguments. This
will be rather fast, but only the first error is shown before it errors
out.
2. By calling nix-instantiate once for each file. This will be much
slower, but has the advantage that we see all errors at once.

To avoid running the long variant every time, we first do a quick check
with the fast version. If that fails, we run the slower one to report
the errors. This gives us the best of both.
2025-05-11 12:14:57 +02:00
Wolfgang Walther
8b65ba5b8e
workflows/check-format: add actionlint
I added a lint-action.sh script in .github/workflows a while ago while
fixing some warnings. But I haven't run it myself ever since. This needs
to be part of CI to make any use of it.
2025-05-11 11:06:06 +02:00
Wolfgang Walther
1cf2d6085b
OWNERS: add postgresqlTestHook to NixOS/postgres team 2025-05-11 10:44:19 +02:00
John Titor
2a573ad886 ci/OWNERS: add warp-terminal maintainers as they were not getting pings previously
Signed-off-by: John Titor <50095635+JohnRTitor@users.noreply.github.com>
2025-05-11 09:04:45 +05:30
Wolfgang Walther
7c16d15d7f
ci/shell: init
The dev shell can now be built locally the same way as in CI with:

  nix-build ci -A shell
2025-05-10 22:14:16 +02:00
Wolfgang Walther
d253ad12b2
ci/manual-nixpkgs: init
The Nixpkgs manual can now be built locally the same way as in CI with:

  nix-build ci -A manual-nixpkgs -A manual-nixpkgs-tests
2025-05-10 22:14:15 +02:00
Wolfgang Walther
89520b962a
ci/manual-nixos: init
The NixOS manual can now be built locally the same way as in CI with:

  nix-build ci -A manual-nixos
2025-05-10 22:13:58 +02:00
Wolfgang Walther
1cb7a384e0
workflows/keep-sorted: drop and move to treefmt
Same reasoning as the commit before, but keep-sorted has even less
overhead than editorconfig-checker. Benchmark has it at 1 second per
run.
2025-05-09 21:54:12 +02:00
Wolfgang Walther
ba4fe10465
workflows/editorconfig: drop and move to treefmt
We already have treefmt running for nixfmt, so it's easy to just add
another formatter to it. This gives a much better UX, because all
formatting errors are reported through the same channel.

It also saves us one CI job, which takes most of the time to just set up
the machine, clone the repo and download Nix - while doing a minimum of
actual work.

Total execution time for treefmt is ~10% slower:
- 38s only nixfmt
- 43s nixfmt + editorconfig-checker
2025-05-09 21:09:47 +02:00
Wolfgang Walther
7097614efd
ci/lib-tests: init
This allows running the lib-tests locally in exactly the same way that
they are run in CI:

  nix-build ci -A lib-tests
2025-05-09 20:06:25 +02:00
Winter
a7eef26e86
check-meta: wrap maintainers attribute to include team members (#402991) 2025-05-07 17:11:15 -04:00
Johannes Kirschbauer
4f64ebd02b
ci/eval-stats: sort output table by metric name 2025-05-07 18:05:07 +02:00
Johannes Kirschbauer
e9f649806a
ci/compare: nix stats comparison (#404731) 2025-05-06 22:31:46 +02:00
Johannes Kirschbauer
0d584f7c8f
ci/compare: nix stats comparison
Displays stats table in the step-summary if there are no added/removed packages
2025-05-06 21:49:18 +02:00
Morgan Jones
92bd743239
ci/eval: use correct maintainer and team positions
We need to pass through the maintainers and teams positions from the
original meta so pings work correctly, since check-meta clobbers the
original attribute positions in them.

Tested with `maintainers/scripts/get-maintainer-pings-between.sh` on a
handful of major packages maintained by both individuals and teams.
2025-05-05 23:45:13 -07:00
awwpotato
509efdedbd
treewide: move to by-name 2025-05-05 08:49:04 -07:00
JuliusFreudenberger
eb5312b583 OWNERS: add owners for teleport files 2025-05-02 21:50:19 +03:00
Johannes Kirschbauer
a3520e9577
Revert "ci/compare: Bring back nix stats comparison" 2025-05-01 23:02:38 +02:00
Johannes Kirschbauer
78e8992345
ci/compare: nix stats comparison
Displays stats table in the step-summary if there are no added/removed packages
2025-05-01 22:41:12 +02:00
Johannes Kirschbauer
fa69ce05d6 ci/eval: output per chunk stats 2025-05-01 20:52:24 +02:00
Anthony ROUSSEL
b2cf5b453a OWNERS: add owners for OctoDNS 2025-04-29 21:14:55 +02:00
Tristan Ross
88f0276649
check-meta: add a teams attribute (#394797) 2025-04-20 16:17:39 -07:00
Wolfgang Walther
de0b31cc84
teams/haskell: add wolfgangwalther 2025-04-20 11:35:33 +02:00
Morgan Jones
e5306ea0ae
ci/eval/compare: support optional byName argument
Sometimes it is quite useful to output names instead of GitHub IDs, e.g.
for maintainer scripts that show you who you would ping. Add this as an
option, but keep the existing default.
2025-04-17 23:54:29 -07:00
Tristan Ross
a71ef34c09
ci/eval/compare: add meta.teams 2025-04-17 23:54:29 -07:00
Austin Horstman
0d6ce2cb8b
ci/OWNERS: add lua team for lua-modules
Automatically notify lua team on lua module updates.
2025-04-07 09:46:21 -05:00
TomaSajt
13fa186def
OWNERS: add owners for D build-support files 2025-04-06 00:20:40 +02:00
Silvan Mosberger
927521a6ac workflows/check-nix-format: Enforce formatting on all files
Changes the Nix format checking workflow to now strictly enforce
formatting of all Nix files using the treefmt setup introduced
in the pre-previous commit.

This is in [accordance with the approved RFC 166](https://github.com/NixOS/rfcs/blob/master/rfcs/0166-nix-formatting.md#reformat-nixpkgs).

Note that the "skip treewide" thing is no longer necessary, already
before, because there's nothing that would fail for treewide changes.
Previously the problem was that the GitHub API would be bombarded.
2025-04-01 20:09:45 +02:00
Silvan Mosberger
5a8296d74f flake.nix: Set formatter
This enables `nix fmt`, though it won't be practically usable without
also reformatting all files, which is done in a following commit.
2025-04-01 20:09:44 +02:00
Silvan Mosberger
398e74f70b shell: Introduce treefmt
Introduces treefmt with a simple nixfmt-rfc-style configuration to
format all Nix files.

This is only practically usable with the following commit that formats
all files accordingly.
2025-04-01 20:09:44 +02:00
jopejoe1
2346742068 ci/OWNERS: update due to by-name migration 2025-03-25 17:00:56 +01:00
Wolfgang Walther
3f3d4c4fd5
Reapply "build(deps): bump cachix/install-nix-action from 30 to 31" (#391347) 2025-03-21 17:01:46 +00:00
Andrew Marshall
d1f47e4cf3 OWNERS: add owners for ZFS NixOS module
Missing change from 46a13b407f.
2025-03-21 09:20:56 -04:00
Arian van Putten
b684e9c6d6
fluent-bit: link against Nix dependencies, fix Darwin builds, and add NixOS module (#365493) 2025-03-21 11:39:18 +00:00
Andrew Marshall
46a13b407f OWNERS: set ZFS owners
We are not being notified for PRs to some of these files, presumably
because maintainers are specified in a non-standard way and we have
multiple versions.

See e.g.
https://github.com/NixOS/nixpkgs/pull/389010#issuecomment-2715134629
2025-03-20 12:10:10 -04:00
commiterate
3366b27e59 fluent-bit: link against Nix dependencies, fix Darwin builds, and add NixOS module 2025-03-19 18:48:46 -04:00
Wolfgang Walther
5b578b0679
ci/eval/compare: fix reading store paths from json file
This suddenly appeared after updating Nix to v26, which then complained:

… while calling the 'fromJSON' builtin
  at
/home/runner/work/nixpkgs/nixpkgs/target/ci/eval/compare/default.nix:74:19:
    73|
    74|   getAttrs = dir: builtins.fromJSON (builtins.readFile
"${dir}/outpaths.json");
      |                   ^
    75|   beforeAttrs = getAttrs beforeResultDir;

… while evaluating the first argument passed to builtins.fromJSON

error: the string '{
  "AMB-plugins.aarch64-linux": {
    "out":
"/nix/store/faw59ba5p6h4b177n8q2ilb3hlm7xlc2-AMB-plugins-0.8.1"
  },
                  ....
  "zzuf.aarch64-linux": {
    "out": "/nix/store/bqvm1h7jfd8smgnjc1v1gpmbwdgvwy5g-zzuf-0.15"
  },
  "zzuf.x86_64-linux": {
    "out": "/nix/store/6qs4lnmzn1qlr3smqqxnmhnrcdcfiv6a-zzuf-0.15"
  }
}
' is not allowed to refer to a store path (such as
'134m2q047vsr9miwh5l227j7sh9jb130-jq-1.7.1-bin')

By discard the unsafe string context, we explicitly allow loading those
store paths. It's unclear why this blew up now, especially because I was
not possible to consistently replicate this locally, so far.
2025-03-19 20:38:44 +01:00
Silvan Mosberger
1d6ee7d8ee ci: Update pinned Nixpkgs
From the nixpkgs-unstable channel: https://hydra.nixos.org/eval/1813168#tabs-inputs
2025-03-13 21:16:06 +01:00
sanana
eaad2a7c87 OWNERS: add @phip1611 and @programmerlexi to limine module files 2025-03-11 20:42:38 +05:30
programmerlexi
12779dc091
nixos/limine: init module
Co-Authored-By: Gabriel Waksmundzki <czapek1337@gmail.com>
2025-03-06 08:05:08 +01:00