Merge release-25.11 into staging-next-25.11

This commit is contained in:
nixpkgs-ci[bot]
2026-06-23 00:48:00 +00:00
committed by GitHub
29 changed files with 57 additions and 59 deletions

View File

@@ -13,7 +13,6 @@ For new packages please briefly describe the package or provide a link to its ho
- Built on platform:
- [ ] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- Tested, as applicable:
- [ ] [NixOS tests] in [nixos/tests].

View File

@@ -34,21 +34,18 @@ jobs:
matrix:
include:
- runner: ubuntu-24.04
name: x86_64-linux
systems: x86_64-linux
system: x86_64-linux
builds: [shell, manual-nixos, lib-tests, tarball]
desc: shell, docs, lib, tarball
- runner: ubuntu-24.04-arm
name: aarch64-linux
systems: aarch64-linux
system: aarch64-linux
builds: [shell, manual-nixos, manual-nixpkgs]
desc: shell, docs
- runner: macos-14
name: darwin
systems: aarch64-darwin x86_64-darwin
system: aarch64-darwin
builds: [shell]
desc: shell
name: '${{ matrix.name }}: ${{ matrix.desc }}'
name: '${{ matrix.system }}: ${{ matrix.desc }}'
runs-on: ${{ matrix.runner }}
timeout-minutes: 60
steps:
@@ -80,7 +77,9 @@ jobs:
- name: Build shell
if: contains(matrix.builds, 'shell')
run: echo "${{ matrix.systems }}" | xargs -n1 nix-build-uncached nixpkgs/untrusted/ci --arg nixpkgs ./nixpkgs/untrusted-pinned -A shell --argstr system
env:
system: ${{ matrix.system }}
run: nix-build-uncached nixpkgs/untrusted/ci --arg nixpkgs ./nixpkgs/untrusted-pinned -A shell --argstr system "$system"
- name: Build NixOS manual
if: |
@@ -108,5 +107,5 @@ jobs:
contains(fromJSON(inputs.baseBranch).type, 'primary')
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: ${{ inputs.artifact-prefix }}nixos-manual-${{ matrix.name }}
name: ${{ inputs.artifact-prefix }}nixos-manual-${{ matrix.system }}
path: nixos-manual

View File

@@ -52,7 +52,7 @@ in
certs.ca.cert
];
networking.extraHosts = ''
${nodes.server.config.networking.primaryIPAddress} ${domain}
${nodes.server.networking.primaryIPAddress} ${domain}
'';
services.alps = {
enable = true;
@@ -74,7 +74,7 @@ in
baseurl = "http://localhost:${toString config.services.alps.port}"
username = "alice"
password = "${nodes.server.config.users.users.alice.password}"
password = "${nodes.server.users.users.alice.password}"
cookiejar = CookieJar()
cookieprocessor = HTTPCookieProcessor(cookiejar)
opener = build_opener(cookieprocessor)
@@ -116,7 +116,7 @@ in
client.start()
client.wait_for_unit("alps.service")
client.wait_for_open_port(${toString nodes.client.config.services.alps.port})
client.wait_for_open_port(${toString nodes.client.services.alps.port})
client.succeed("test-alps-login")
'';
}

View File

@@ -29,7 +29,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
in
''
with subtest("Wait for cage to boot up"):

View File

@@ -47,7 +47,7 @@ in
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
XDG_RUNTIME_DIR = "/run/user/${toString user.uid}";
in
''

View File

@@ -47,9 +47,9 @@ in
# need to distinguish because show-ip won't work for ipv6
if container == "webserver4":
ip = machine.succeed(f"nixos-container show-ip {container}").rstrip()
assert ip == "${nodes.machine.config.containers.webserver4.localAddress}"
assert ip == "${nodes.machine.containers.webserver4.localAddress}"
return ip
return "${nodes.machine.config.containers.webserver6.localAddress}"
return "${nodes.machine.containers.webserver6.localAddress}"
for container in "webserver4", "webserver6":

View File

@@ -22,7 +22,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
sudo = lib.concatStringsSep " " [
"XDG_RUNTIME_DIR=/run/user/${toString user.uid}"
"DOCKER_HOST=unix:///run/user/${toString user.uid}/docker.sock"

View File

@@ -33,7 +33,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
in
''
with subtest("Ensure x starts"):

View File

@@ -129,7 +129,7 @@ in
];
environment.etc."initiator-root-disk-closure".source =
nodes.initiatorRootDisk.config.system.build.toplevel;
nodes.initiatorRootDisk.system.build.toplevel;
nix.settings = {
substituters = lib.mkForce [ ];

View File

@@ -166,7 +166,7 @@ in
initiatorAuto.succeed("mkfs.xfs /dev/sda")
initiatorAuto.succeed("mkdir /mnt && mount /dev/sda /mnt")
initiatorAuto.succeed(
"nixos-install --no-bootloader --no-root-passwd --system ${nodes.initiatorRootDisk.config.system.build.toplevel}"
"nixos-install --no-bootloader --no-root-passwd --system ${nodes.initiatorRootDisk.system.build.toplevel}"
)
initiatorAuto.succeed("umount /mnt && rmdir /mnt")
initiatorAuto.shutdown()

View File

@@ -169,7 +169,7 @@ import ../make-test-python.nix (
with subtest("Server: initialize host principal with keytab"):
server.send_chars("sudo ktutil get -p alice/admin host/server.foo.bar\n")
server.wait_until_tty_matches("1", "password for alice:")
server.send_chars("${nodes.server.config.users.users.alice.password}\n")
server.send_chars("${nodes.server.users.users.alice.password}\n")
server.wait_until_tty_matches("1", "alice/admin@FOO.BAR's Password:")
server.send_chars(f'{alice_krb_admin_pw}\n')
server.wait_for_file("/etc/krb5.keytab")
@@ -194,7 +194,7 @@ import ../make-test-python.nix (
client.send_chars("sudo ktutil get -p alice/admin host/client.foo.bar\n")
client.wait_until_tty_matches("1", "password for alice:")
client.send_chars("${nodes.client.config.users.users.alice.password}\n")
client.send_chars("${nodes.client.users.users.alice.password}\n")
client.wait_until_tty_matches("1", "alice/admin@FOO.BAR's Password:")
client.send_chars(f"{alice_krb_admin_pw}\n")
client.wait_for_file("/etc/krb5.keytab")

View File

@@ -209,11 +209,11 @@ in
testScript =
{ nodes, ... }:
let
primary4 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv4.addresses).address;
primary6 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv6.addresses).address;
primary4 = (lib.head nodes.primary.networking.interfaces.eth1.ipv4.addresses).address;
primary6 = (lib.head nodes.primary.networking.interfaces.eth1.ipv6.addresses).address;
secondary4 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv4.addresses).address;
secondary6 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv6.addresses).address;
secondary4 = (lib.head nodes.secondary.networking.interfaces.eth1.ipv4.addresses).address;
secondary6 = (lib.head nodes.secondary.networking.interfaces.eth1.ipv6.addresses).address;
in
''
import re

View File

@@ -8,7 +8,7 @@
nodes.client =
{ nodes, ... }:
let
user = nodes.client.config.users.users.alice;
user = nodes.client.users.users.alice;
in
{
imports = [
@@ -24,7 +24,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.client.config.users.users.alice;
user = nodes.client.users.users.alice;
in
''
client.wait_for_x()

View File

@@ -20,7 +20,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
in
''
start_all()

View File

@@ -21,7 +21,7 @@ in
{
imports = [ common ];
networking.nameservers = lib.mkForce [
(lib.head nodes.server.config.networking.interfaces.eth1.ipv4.addresses).address
(lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses).address
];
networking.interfaces.eth1.ipv4.addresses = [
{
@@ -36,7 +36,7 @@ in
{
imports = [ common ];
networking.nameservers = lib.mkForce [
(lib.head nodes.server.config.networking.interfaces.eth1.ipv6.addresses).address
(lib.head nodes.server.networking.interfaces.eth1.ipv6.addresses).address
];
networking.interfaces.eth1.ipv4.addresses = [
{

View File

@@ -93,8 +93,8 @@ in
testScript =
{ nodes }:
let
esPort = toString nodes.parsedmarc.config.services.elasticsearch.port;
valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.config.services.elasticsearch.package.version "7") ".value";
esPort = toString nodes.parsedmarc.services.elasticsearch.port;
valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.services.elasticsearch.package.version "7") ".value";
in
''
parsedmarc.start()
@@ -143,7 +143,7 @@ in
networking.extraHosts = ''
127.0.0.1 ${parsedmarcDomain}
${nodes.mail.config.networking.primaryIPAddress} ${mailDomain}
${nodes.mail.networking.primaryIPAddress} ${mailDomain}
'';
services.parsedmarc = {
@@ -170,7 +170,7 @@ in
networking.extraHosts = ''
127.0.0.1 ${mailDomain}
${nodes.parsedmarc.config.networking.primaryIPAddress} ${parsedmarcDomain}
${nodes.parsedmarc.networking.primaryIPAddress} ${parsedmarcDomain}
'';
services.dovecot2 = {
@@ -204,8 +204,8 @@ in
testScript =
{ nodes }:
let
esPort = toString nodes.parsedmarc.config.services.elasticsearch.port;
valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.config.services.elasticsearch.package.version "7") ".value";
esPort = toString nodes.parsedmarc.services.elasticsearch.port;
valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.services.elasticsearch.package.version "7") ".value";
in
''
mail.start()

View File

@@ -39,7 +39,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
gpg-uid = "alice@example.net";
gpg-pw = "foobar9000";
ready-file = "/tmp/secrets-dbus-init.done";

View File

@@ -41,8 +41,8 @@ in
<Proxy balancer://cluster>
Require all granted
BalancerMember http://${nodes.backend1.config.networking.hostName} retry=0
BalancerMember http://${nodes.backend2.config.networking.hostName} retry=0
BalancerMember http://${nodes.backend1.networking.hostName} retry=0
BalancerMember http://${nodes.backend2.networking.hostName} retry=0
</Proxy>
ProxyStatus full

View File

@@ -29,7 +29,7 @@
machine.succeed(
"""
mkdir -p /run/nginx /var/log/nginx /var/cache/nginx
${nodes.machine.config.systemd.services.nginx.runner} >&2 &
${nodes.machine.systemd.services.nginx.runner} >&2 &
echo $!>my-nginx.pid
"""
)

View File

@@ -42,7 +42,7 @@ in
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
in
''
start_all()

View File

@@ -196,7 +196,7 @@
swaymsg("exec swaylock")
machine.wait_until_succeeds("pgrep -xf swaylock")
machine.sleep(3)
machine.send_chars("${nodes.machine.config.users.users.alice.password}")
machine.send_chars("${nodes.machine.users.users.alice.password}")
machine.send_key("ret")
machine.wait_until_fails("pgrep -xf swaylock")

View File

@@ -310,7 +310,7 @@ in
# and check if the blocks have the correct labels:
store.succeed(
"thanos tools bucket ls "
+ "--objstore.config-file=${nodes.store.config.services.thanos.store.objstore.config-file} "
+ "--objstore.config-file=${nodes.store.services.thanos.store.objstore.config-file} "
+ "--output=json | "
+ "jq .thanos.labels.some_label | "
+ "grep 'required by thanos'"

View File

@@ -25,7 +25,7 @@
testScript =
{ nodes, ... }:
let
inherit (nodes.machine.config.services) redis;
inherit (nodes.machine.services) redis;
in
''
start_all()

View File

@@ -73,7 +73,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.client.config.users.users.alice;
user = nodes.client.users.users.alice;
in
''
start_all()

View File

@@ -50,6 +50,6 @@ stdenv.mkDerivation {
platforms
;
broken = !(lib.versionAtLeast kernel.version "6.16" && lib.versionOlder kernel.version "7.1");
broken = !(lib.versionAtLeast kernel.version "6.16" && lib.versionOlder kernel.version "7.2");
};
}

View File

@@ -1,6 +1,6 @@
{
version = "1.30.0";
hash = "sha256-lUynHDFfbX9BxwTdREbgAMil7S3+vwAl05myzMEWgGQ=";
npmDepsHash = "sha256-snWhjSy9au81bJZwjh/KVvchjEaJJ05HYhyh3V8/Y5g=";
vendorHash = "sha256-LMjS0YxRTvHZ8U10BOST/5Zthqhoi5OxngWWB+2CSeQ=";
version = "1.30.2";
hash = "sha256-37nJRJL1mxvUdD7L9/yO/Lzyjvn09Tu9xHTEt4pxu2s=";
npmDepsHash = "sha256-AApRrIIYC4NtKIFyGQ3lnKIOk7LZNDK8wvUUbSczTrA=";
vendorHash = "sha256-em0317Q1u5sl8gws4/qqM8e9H5F4vfBiM7tLCyufgEk=";
}

View File

@@ -19,13 +19,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "squid";
version = "7.5";
version = "7.6";
src = fetchurl {
url = "https://github.com/squid-cache/squid/releases/download/SQUID_${
builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version
}/squid-${finalAttrs.version}.tar.xz";
hash = "sha256-9gWJB9sBUNL10ihIK1qeVniSDPNorgzLzszrL/TDUQY=";
hash = "sha256-hSF4/cN8WweGqTT8mQx9L//IKs8ZsihL4gm5ZDHSWZI=";
};
nativeBuildInputs = [ pkg-config ];

View File

@@ -27,9 +27,9 @@ let
"20.1.8".officialRelease.sha256 = "sha256-ysyB/EYxi2qE9fD5x/F2zI4vjn8UDoo1Z9ukiIrjFGw=";
"21.1.7".officialRelease.sha256 = "sha256-SaRJ7+iZMhhBdcUDuJpMAY4REQVhrvYMqI2aq3Kz08o=";
"23.0.0-git".gitRelease = {
rev = "625facd4375f6bfa5de501d0559bd262062e2dc3";
rev-version = "23.0.0-unstable-2026-06-14";
sha256 = "sha256-myNSe9+nBTd28BnEmq+Ysp0kiY6KtOJSmbnGjQgGxRI=";
rev = "d1744cf76fbea0c407c5e793a380ffca4e5829be";
rev-version = "23.0.0-unstable-2026-06-21";
sha256 = "sha256-gtfU3pO3xiZtxz/iRmkWnaEx/DEomkOi9r6jsCbLOgQ=";
};
}
// llvmVersions;

View File

@@ -25,8 +25,8 @@
"lts": true
},
"6.12": {
"version": "6.12.94",
"hash": "sha256:1ln83ljmc7wr1nrjjq1hp1m1vx54j7i6i15m3hqb73a1p4ra5679",
"version": "6.12.93",
"hash": "sha256:18sg154hqw8l98pfim2hjm1y604h5dwn9gj3gyncas8bgjl4h9j9",
"lts": true
},
"6.18": {