Skip to content

[25.05] lib.teams: Sync from GitHub (members/shortName/scope)#456422

Merged
wolfgangwalther merged 24 commits intoNixOS:release-25.05from
wolfgangwalther:backport-ci-teams-sync
Oct 28, 2025
Merged

[25.05] lib.teams: Sync from GitHub (members/shortName/scope)#456422
wolfgangwalther merged 24 commits intoNixOS:release-25.05from
wolfgangwalther:backport-ci-teams-sync

Conversation

savtrip and others added 3 commits October 28, 2025 11:25
(cherry picked from commit a2d88e8)
(cherry picked from commit 5d75e97)
(cherry picked from commit 2236bae)
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This report is automatically generated by the PR / Check / cherry-pick CI workflow.

Some of the commits in this PR require the author's and reviewer's attention.

Sometimes it is not possible to cherry-pick exactly the same patch.
This most frequently happens when resolving merge conflicts.
The range-diff will help to review the resolution of conflicts.

If you need to merge this PR despite the warnings, please dismiss this review shortly before merging.

Warning

Difference between 2a57eba and original 428bd8f may warrant inspection.

Show diff
@@ Commit message
     has been ensured to be negligible, only consisting of minor team
     shortName and scope differences
 
+    (cherry picked from commit 428bd8f1a256bf7864a63134b96005517c1aa371)
+
  ## ci/OWNERS ##
 @@
  /lib/path/*                 @infinisil @hsjobeki
@@ lib/default.nix: let
  
 
  ## maintainers/README.md ##
-@@ maintainers/README.md: If the team lists no specific membership policy, feel free to merge changes to t
- > [!IMPORTANT]
- > If a team says it is a closed group, do not merge additions to the team without an approval by at least one existing member.
- 
--A corresponding GitHub team can be created by any org member.
-+#### Synced GitHub teams
-+
-+As an alternative to tracking team members in `team-list.nix`, a corresponding GitHub team can be created by any org member and its members subsequently managed directly on GitHub.
- When creating the team it should be created with the `nixpkgs-maintainers` team as parent.
- Once approved, the team will have the right privileges to be pinged and requested for review in Nixpkgs.
+@@ maintainers/README.md: team after giving the existing members a few days to respond.
+ *Important:* If a team says it is a closed group, do not merge additions
+ to the team without an approval by at least one existing member.
  
- > [!TIP]
- > The team name should be as short as possible; because it is nested under the maintainers group, no -maintainers suffix is needed.
- 
-+After the first [weekly team sync](../.github/workflows/team-sync.yml) with the new team, it's then also possible to link it to the entry in `team-list.nix` by setting its `github` field to the GitHub team name.
-+
+-
  # Maintainer scripts
  
- Various utility scripts, which are mainly useful for nixpkgs maintainers, are available under `./scripts/`.
+ Various utility scripts, which are mainly useful for nixpkgs maintainers,
 
  ## maintainers/computed-team-list.nix (new) ##
 @@
@@ maintainers/team-list.nix: with lib.maintainers;
 -      happysalada
 -      minijackson
 -      yurrriq
--      savtrip
 -    ];
      github = "beam";
 -    scope = "Maintain BEAM-related packages and modules.";
@@ maintainers/team-list.nix: with lib.maintainers;
    cuda = {
 -    members = [
 -      connorbaker
--      GaetanLepage
 -      prusnak
 -      samuela
 -      SomeoneSerge
@@ maintainers/team-list.nix: with lib.maintainers;
 -      willcohen
 -    ];
      github = "geospatial";
--    scope = "Maintain geospatial, remote sensing and OpenStreetMap software.";
+-    scope = "Maintain geospatial packages.";
 -    shortName = "Geospatial";
      enableFeatureFreezePing = true;
    };
@@ maintainers/team-list.nix: with lib.maintainers;
 -    members = [
 -      euank
 -      frederictobiasc
--      heywoodlh
 -      marcusramberg
 -      mic92
 -      rorosen
@@ maintainers/team-list.nix: with lib.maintainers;
    llvm = {
 -    members = [
 -      dtzWill
--      emily
 -      ericson2314
 -      lovek323
 -      qyliss
@@ maintainers/team-list.nix: with lib.maintainers;
    php = {
 -    members = [
 -      aanderse
+-      drupol
 -      ma27
 -      piotrkwiecinski
 -      talyz
@@ maintainers/team-list.nix: with lib.maintainers;
    };
  
    systemd = {
--    members = [
--      flokli
--      arianvp
--      elvishjerricco
--      aanderse
--      grimmauld
--    ];
+-    members = [ ];
      github = "systemd";
 -    scope = "Maintain systemd for NixOS.";
 -    shortName = "systemd";

Hint: The full diffs are also available in the runner logs with slightly better highlighting.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 6.topic: lib The Nixpkgs function library 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions 6.topic: teams Relating to team creation, updates, other management actions 4.workflow: backport This targets a stable branch 6.topic: policy discussion Discuss policies to work in and around Nixpkgs labels Oct 28, 2025
@infinisil infinisil force-pushed the backport-ci-teams-sync branch from 54cc9bf to 21dcd72 Compare October 28, 2025 15:34
@infinisil
Copy link
Member

Aleksanaa and others added 5 commits October 28, 2025 17:02
(cherry-picked from commit 2ddd879)
No team was using the feature of having multiple GitHub teams, and this
would make it tricky to try to sync maintainer teams with GitHub teams.

(cherry picked from commit 1ea51e1)
(cherry picked from commit 470d48f)
Makes it much easier and less involved to run

(cherry picked from commit 264ca12)
(cherry picked from commit f3f9a33)
…ture freeze script

There's no reason this needs to be exposed under `lib.teams`

(cherry picked from commit 7ff3f68)
@wolfgangwalther
Copy link
Contributor Author

The loongarch64 needs to be sorted into the right place. I think 7eee5ba moves it to the wrong spot?

infinisil and others added 11 commits October 28, 2025 17:04
Including:
- Removing a `.github` for a team that doesn't exist
- Adding people to `lib.teams` that are part of the GitHub team but were never
  part of the team in `lib.teams`
- Adjusting capitalisation of a linked GitHub team

While there's more differences, all others should be done on the GitHub
side, because it's things like adding/removing team members that have
added/removed themselves to/from `lib.teams` in the past.

(cherry picked from commit ff336e2)
Creates a team sync workflow that pushes the current state of teams to a
JSON file, which can then be ingested by `lib.teams` to expose member
lists.

Co-Authored-By: Alexander Bantyev <[email protected]>
(cherry picked from commit c0c6684)
This makes `lib.teams` be in sync with the GitHub state.

Add the marketing-team so that all teams in `lib.teams` can be requested for reviews.

Add these members to the respective teams:
- beam: minijackson (53e70ab)
- beam: savtrip (f9ff37c)
- cuda: prusnak (748896a)
- geospatial: autra (7de303b)
- geospatial: l0b0 (510eb51)
- gnome: bobby285271 (066634e)
- gnome: dasj19 (c57c936)
- k3s: heywoodlh (2ca18a8)
- k3s: rorosen (b9f397d)
- php: piotrkwiecinski (148e322)
- qt-kde: mjm (f6bb8a9)
- qt-kde: NickCao (f6bb8a9)
- qt-kde: ilya-fedin (f6bb8a9)
- qt-kde: K900 (f6bb8a9)
- qt-kde: SuperSandro2000 (f6bb8a9)
- qt-kde: LunNova (f6bb8a9)

Remove these members from the respective teams:
- geospatial: das-g (b93d987)
- haskell: expipiplus1 (e134422)
- haskell: peti (NixOS#450864 (comment))
- k3s: yajo (8b23811)
- k3s: superherointj (7354bda)
- ocaml: superherointj (7354bda)
- php: drupol (cabc16d)
- php: globin (e5d552f)
- documentation-team: fricklerhandwerk (https://discourse.nixos.org/t/the-next-chapter-in-nix-documentation/68425)

Copy these team descriptions from `lib.teams.*.scope` to the GitHub team description:
- nixpkgs-ci: Maintain Nixpkgs' in-tree Continuous Integration, including GitHub Actions
- cuda: Maintain CUDA-enabled packages
- darwin: Maintain core platform support and packages for macOS and other Apple platforms
- documentation-team: Maintain nixpkgs/NixOS documentation and tools for building it. https://nixos.org/community/teams/documentation
- enlightenment: Maintain Enlightenment desktop environment and related packages
- flutter: Maintain Flutter and Dart-related packages and build tools
- geospatial: Maintain geospatial, remote sensing and OpenStreetMap software
- golang: Maintain Golang compilers
- haskell: Maintain Haskell packages and infrastructure
- k3s: Maintain K3s package, NixOS module, NixOS tests, update script
- lisp: Maintain the Lisp ecosystem
- lua: Maintain the lua ecosystem
- lumina: Maintain lumina desktop environment and related packages
- lxqt: Maintain LXQt desktop environment and related packages
- neovim: Maintain the vim and neovim text editors and related packages
- ocaml: Maintain the OCaml compiler and package set
- pantheon: Maintain Pantheon desktop environment and platform
- qt-kde: Maintain the Qt framework, KDE application suite, Plasma desktop environment and related projects
- nixos-release-managers: Manage the current nixpkgs/NixOS release
- rocm: Maintain ROCm and related packages
- rust: Maintain the Rust compiler toolchain and nixpkgs integration
- systemd: Maintain systemd for NixOS
- xen-project: Maintain the Xen Project Hypervisor and the related tooling ecosystem

(cherry picked from commit 6d89dcd)
The before and after of

    nix-instantiate --eval -A lib.teams --strict --json | jq 'walk(if type == "array" then sort else . end)'

has been ensured to be negligible, only consisting of minor team
shortName and scope differences

(cherry picked from commit 428bd8f)
This is so you can figure out who to ask to get added to the team

Also avoid an unecessary `{ inherit lib; }` argument

(cherry picked from commit ddf8b5d)
This will allow the code for NixOS#447514
to make sure that the right team is requested for review,
even if it has been renamed in the meantime.

While the matching is currently based on the teams slug/name and not the
id, renames won't cause problems with `lib.teams`, because CI would
error if there's no match. Changing this can be future work.

(cherry picked from commit 7636389)
Keeping the workflow filename in-sync with the visible name.

(cherry picked from commit 42de52d)
These are style-only formatting changes, that are not enforced via
tooling - but used consistently in the other workflow files.

(cherry picked from commit 8100585)
These are style-only changes, that are not enforced via tooling - but
used mostly consistently in the other github-script files.

(cherry picked from commit 3df31aa)
Allows better scoping of branch creation restrictions

(cherry picked from commit 72d9fc3)
@infinisil infinisil force-pushed the backport-ci-teams-sync branch from 44e2e77 to ca4cada Compare October 28, 2025 16:04
@infinisil
Copy link
Member

Should be good now, rebased to flip lua/loongarch order throughout

@infinisil
Copy link
Member

Hmm, #456422 (review) still complains, I think we might also need 7d255b3 and some others to make it proper proper

@wolfgangwalther
Copy link
Contributor Author

No, we don't need to resolve them all. It only complains so that we can review the diff between the two PRs and not more. The current state is more than fine.

@infinisil
Copy link
Member

Sounds good

@wolfgangwalther wolfgangwalther added this pull request to the merge queue Oct 28, 2025
Merged via the queue into NixOS:release-25.05 with commit 94db704 Oct 28, 2025
26 checks passed
@wolfgangwalther wolfgangwalther deleted the backport-ci-teams-sync branch October 28, 2025 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.workflow: backport This targets a stable branch 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions 6.topic: lib The Nixpkgs function library 6.topic: policy discussion Discuss policies to work in and around Nixpkgs 6.topic: teams Relating to team creation, updates, other management actions 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants