Commit Graph

217 Commits

Author SHA1 Message Date
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
Silvan Mosberger
5ed63a84d5 OWNERS: Add @hsjobeki to lib files 2025-03-03 19:01:41 +01:00
Adam C. Stephens
f61923eca6 beam*: add beam team as code owners 2025-02-16 18:31:08 -05:00
Wolfgang Walther
1b2949a572 ci/eval: fail on non-empty stderr (#381266) 2025-02-14 18:04:12 +01:00
Wolfgang Walther
dfa7783c7d ci/eval: make eval for non-native platforms less incorrect (#378922) 2025-02-14 17:49:10 +01:00
6543
6449da32b2 nixos/services.mysql: add myselfe as maintainer 2025-02-14 01:06:52 +01:00
Silvan Mosberger
799273bf13 ci/eval/compare: Ignore null packages
CI can fail to evaluate if a package is null:
https://github.com/NixOS/nixpkgs/actions/runs/13209876145/job/36881335314?pr=380228
2025-02-11 21:24:28 +01:00
Silvan Mosberger
7c62a764b4 ci/eval: Fail on non-empty stderr
Just like the channel eval requires.
2025-02-11 21:16:58 +01:00