Commit Graph

907 Commits

Author SHA1 Message Date
Philip Taron
c2bf708c7c maintainers/test-driver: make maintainer-team github-based and add owners, rename from 'tests' (#535269) 2026-06-26 03:19:32 +00:00
nixpkgs-ci[bot]
f5a1befabc Merge staging-next into staging 2026-06-25 18:46:42 +00:00
Matt Sturgeon
f0b584346d ci/github-script/merge: surface auto-merge blockers in the bot's checklist (#513224) 2026-06-25 17:03:16 +00:00
Maximilian Bosch
a742480e9f maintainers/test-driver: make maintainer-team github-based and add owners, rename from 'tests'
Renaming from `tests` to make it explicit that we're maintaining the
driver and not all tests.

As briefly discussed with Jacek & Kierán.
We rely on pinging each other / being pinged and that seems better.
2026-06-25 17:26:08 +02:00
Aliaksandr
0c1c3d4813 ci/github-script/merge: share reviews fetch with bot.js, drop events
`bot.js` already pulls reviews via GraphQL for the approval-count
labels. Move that fetch above the `handleMerge` call, add `commit
{ oid }` to the query, and pass the result through. `handleMerge` no
longer issues its own `listReviews` REST call.

While here, the `approvals` set is now derived from the same reviews
data. Two upsides:

- A reviewer who approved and was later dismissed no longer counts
  towards the approval check; their review now surfaces with state
  DISMISSED instead of leaving a stale `reviewed` event behind.
- `events` is no longer needed by `runChecklist` (it was only feeding
  the approvals filter); the parameter is dropped from both call
  sites. `handleMerge` still uses `events` for tracking the latest
  push and merge-command comments.

Also drop the redundant `user` truthy checks (and the stale "some
users have been deleted" comment) in `runChecklist`. The GraphQL
query uses `author { ... on User { login id } }` and bot.js then
filters via `r.user?.login`, so by the time reviews reach
`runChecklist` every entry already has a populated `user`. Verified
by querying real PRs: bots surface as `{__typename: "Bot"}` (no
`login`/`id`, filtered out by bot.js), and deleted accounts surface
as the "ghost" user (login `"ghost"`, id `10137`), which passes the
filter but matches no committer - harmless for both checks.

Assisted-by: claude-code with claude-opus-4-8[1m]-high
2026-06-25 18:05:32 +03:00
Aliaksandr
6f9325fb5d ci/github-script/merge: clarify Auto Merge follow-up tip
The previous tip ("Sometimes GitHub gets stuck after enabling Auto
Merge") didn't explain why nothing happens immediately after the bot's
"Enabled Auto Merge" reply, leaving maintainers unsure whether to wait
or intervene. Spell out that Auto Merge waits for required CI before
queueing, that a later CI failure leaves the PR un-queued until it is
fixed, and link to GitHub's documentation; keep the existing "leave
another approval" workaround for the rare cases where Auto Merge stalls
after CI completes.

Assisted-by: claude-code with claude-opus-4-8[1m]-high
2026-06-25 18:05:32 +03:00
Aliaksandr
b94b44d3f9 ci/github-script/merge: refuse merge when a committer has requested changes
A "changes requested" review from a committer blocks both the merge
queue and auto-merge, but unlike approvals it isn't auto-dismissed
when new commits are pushed. Surface it as a checklist item so the
bot's reply explains the block instead of silently enabling
auto-merge that will never trigger.

Implementation pulls every review for the PR via `listReviews` and,
for each committer, takes the latest review whose state is
`APPROVED`/`CHANGES_REQUESTED`. The check fails if any committer's
latest stance is `CHANGES_REQUESTED`. Other review states fall out
naturally:

- A dismissed review surfaces as `DISMISSED`, so a committer
  dismissing their own changes-requested review unblocks the PR.
- A comment-only follow-up surfaces as `COMMENTED`, so it doesn't
  override an earlier actionable review - the prior stance still
  stands until the committer explicitly approves or requests changes
  again.

Assisted-by: claude-code with claude-opus-4-8[1m]-high
2026-06-25 17:57:03 +03:00
Aliaksandr
da97bf8423 ci/github-script/merge: skip auto-merge when CI has already failed
The merge bot falls back to GitHub Auto Merge whenever the merge queue
won't accept a PR yet. That is the right move while CI is still
running, but pointless once CI has already failed: Auto Merge can never
trigger, and fixing CI requires a new push, which invalidates the merge
command anyway (the bot only acts on comments after the latest push).

Fetch the `no PR failures` commit status and, when the merge-queue
enqueue fails, branch on it. If CI has already failed
(`error`/`failure`), skip Auto Merge and reply that a fresh
`@NixOS/nixpkgs-merge-bot merge` comment is needed once CI is green
again. Otherwise (pending or missing status) enable Auto Merge as
before.

`merge()` now returns `{ reaction, messages }` so the CI-failure path
can leave a thumbs-down reaction rather than the rocket used for an
actual merge.

Closes #512554.

Assisted-by: claude-code with claude-opus-4-8[1m]-high
2026-06-25 17:57:03 +03:00
nixpkgs-ci[bot]
4516515e07 Merge staging-next into staging 2026-06-25 07:14:00 +00:00
Matt Sturgeon
d2f2509d40 ci/treefmt: enable or-identifier rule (#534962) 2026-06-25 04:26:01 +00:00
nixpkgs-ci[bot]
3bd1331aeb Merge staging-next into staging 2026-06-25 00:45:52 +00:00
Silvan Mosberger
65761fc650 ci: add llakala as codeowner of performance-critical files (#535031) 2026-06-24 20:39:31 +00:00
Eman Resu
03dfff6fc2 ci/owners: add llakala as owner of key stdenv files 2026-06-24 14:10:35 -04:00
Eman Resu
92a06e9bba ci/owners: add llakala as owner of key lib files 2026-06-24 14:10:31 -04:00
Raito Bezarius
72177a1900 ci/OWNERS: drop code ownership of various things
I'm not active anymore in:

- emscripten
- make-disk-image
- NGINX

Change-Id: Ibcc76bbd9504cea63bf4cda8c6395c3db74854c3
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2026-06-24 19:16:07 +02:00
George Macon
45e309e3a3 ci/treefmt: enable or-identifier rule
All remaining unquoted uses of or as an identifier were removed in
PR #475723, so this rule can now be enabled to prevent it from coming
back.
2026-06-24 09:56:48 -04:00
K900
dc0f4cd301 Merge remote-tracking branch 'origin/staging-next' into staging 2026-06-24 16:12:11 +03:00
Silvan Mosberger
84104c6ff9 ci/OWNERS: Remove myself from contributor docs (#525760) 2026-06-24 11:03:31 +00:00
Silvan Mosberger
a90d993610 ci/eval: Allow preventing internal Nixpkgs use of certain problem kinds 2026-06-24 12:26:03 +02:00
Silvan Mosberger
19a31658dc ci/eval: Refactor attrpaths.nix to a more generic pre-eval.nix 2026-06-24 12:25:57 +02:00
nixpkgs-ci[bot]
0f0b57829b Merge staging-next into staging 2026-06-22 17:40:41 +00:00
Hythera
830e3bdc80 ci/OWNERS: add rust team as owner of rust related packages 2026-06-21 13:44:20 +02:00
nixpkgs-ci[bot]
d94448ae90 Merge staging-next into staging 2026-06-21 00:51:18 +00:00
Matt Sturgeon
1e139e69d0 ci/treefmt: use wrapper from pkgs.treefmt (#530947) 2026-06-20 23:30:09 +00:00
Eman Resu
add81e270c lib.systems.doubles: only typecheck in CI 2026-06-20 17:05:35 -04:00
nixpkgs-ci[bot]
b689fda570 Merge staging-next into staging 2026-06-17 13:17:18 +00:00
Matt Sturgeon
0e6663eab9 ci/eval: name base branch in the performance comparison summary (#532477) 2026-06-17 11:21:16 +00:00
nixpkgs-ci[bot]
87a9b3959a Merge staging-next into staging 2026-06-17 00:51:16 +00:00
Aliaksandr
a100d091a0 ci/eval: name the base branch in the performance comparison summary
The performance comparison summary previously stated it compared against
"its pull request base branch (e.g., 'master')" regardless of the actual
base branch.

Plumb the base branch classification computed in prepare.js through the
eval workflow to the `compare` derivation so the summary names the real
base branch (e.g. "staging-25.11"). The local `eval.full` helper defaults
to "master", matching its touched-files convention.

Assisted-by: claude-code with claude-opus-4-8[1m]-high
2026-06-17 01:08:45 +03:00
Michael Daniels
258f97415d various: move some hooks to pkgs/by-name 2026-06-15 19:37:11 -04:00
Martin Weinelt
97d4dc8b65 python314: 3.14.5 -> 3.14.6; python313: 3.13.13 -> 3.13.14 (#530773) 2026-06-13 18:37:40 +00:00
Martin Weinelt
efeb755073 ci/owners: remove natsukium from remaining python ownership 2026-06-13 20:11:35 +02:00
Acid Bong
b36cb1bb91 ci/treefmt: sort formatters alphabetically 2026-06-13 11:39:52 +03:00
Acid Bong
d1d4934041 ci/treefmt: use pkgs.treefmt.withConfig 2026-06-13 11:39:51 +03:00
Michael Daniels
524e78abe6 ci: update pinned
I had managed to not actually include the nixpkgs-vet update (0.3.0 -> 0.3.2)
in my last pin bump.
2026-06-11 21:54:28 -04:00
Matt Sturgeon
9a5c1900d0 ci/treefmt: move settings to a separate file (#530490) 2026-06-11 17:57:16 +00:00
Philip Taron
cd265fd6b4 various: migrate to by-name (#529310) 2026-06-11 04:51:08 +00:00
Acid Bong
e99b887ce8 ci: move Treefmt settings into a separate file 2026-06-10 22:22:07 +03:00
Bobby Rong
e404d63c22 ci/OWNERS: add gnome team as owner of gnome related packages (#529589) 2026-06-09 23:52:06 +00:00
Grayson Tinker
ca029e4856 ci/OWNERS: Drop entry for pkgs/applications/blockchains
The subsequent two commits will remove the final packages from this directory.
2026-06-09 07:39:48 -07:00
Michael Daniels
1f9448d9d7 ci: update pinned 2026-06-08 18:16:33 -04:00
Michael Daniels
089cd8fbac ci/update-pinned.sh: use nixpkgs from current dir, run npins upgrade too
Use nixpkgs from the current directory because otherwise the npins used
could be outdated.

Also run npins upgrade as part of the script.
2026-06-08 18:16:27 -04:00
Hythera
153c3c36af ci/OWNERS: add gnome team as owner of gnome related packages 2026-06-08 18:17:02 +02:00
Michael Daniels
7ed15fdeb9 ci/eval/compare: show performance comparison even when package sets differ (#523919) 2026-06-07 14:45:06 +00:00
Michael Daniels
41876c6de2 ci/github-script/merge: ignore case when checking for merge bot comment 2026-06-06 14:17:11 -04:00
Gutyina Gergő
380dead819 ci/OWNERS: add Scrumplex and myself to pnpm tests 2026-06-04 11:46:19 +02:00
Marcin Serwin
85ac6ca088 maintainers: drop ttuegel
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2026-05-31 20:27:39 +02:00
Alyssa Ross
331800de50 ci/OWNERS: add myself to some critical components (#511736) 2026-05-31 16:09:29 +00:00
OTABI Tomoya
d0870b6448 teams/python: drop natsukium (#523402) 2026-05-30 06:50:01 +00:00
Matt Sturgeon
4fb082a70a pkgs-lib/formats: reimplement toml.generate with Rust (#513796) 2026-05-30 02:39:17 +00:00