summaryrefslogtreecommitdiff
path: root/gnu/tests
AgeCommit message (Collapse)Author
2026-01-15tests: install: Fix timezone check.Noé Lopez
The default timezone is set to Europe/Zaghreb, however the new check introduced in 0a9eb3f3e2b7a08e6df4db44bc6fd56f2cd34173 was checking for the one in the operating-system definition, which is Europe/Paris. * gnu/tests/install.scm (gui-test-program): Explicitely set timezone to Europe/Paris. Change-Id: I7b5d327f13760632c9fbc0c1223a6a9bbc624f4d Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #4977
2026-01-09tests: mail: Add Radicale test.Rodion Goritskov
* gnu/tests/mail.scm (%radicale-os): New variable. (run-radicale-test): New function with basic tests. (%test-radicale): New variable. Change-Id: I4a4e093ca7ac2a20a575bcf38b6ff763edf67652 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #5361
2026-01-09tests: %test-nss-mdns: Fix test order.Nguyễn Gia Phong
Before this, the test failed because Avahi CLI utilities exit with a non-zero status in case of a cache miss (instead of blocking?). * gnu/tests/avahi.scm (run-nss-mdns-test): Move the Avahi CLI tests after other name resolution tests. Change-Id: I88ab03abf39cf24ee2ce763c719444ac65504cc2 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #4955
2026-01-08services: Add opensnitch-service.Danny Milosavljevic
* gnu/services/opensnitch.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add reference to it. * doc/guix.texi (Miscellaneous Services, Security): Document it. * gnu/tests/security.scm (%test-opensnitch): New variable. Change-Id: I63d1b6636b3aaecf399664ec97383d82ff1391d1
2026-01-06services: Add luanti-service-type.Maxim Cournoyer
* gnu/services/games.scm (luanti-configuration): New variable. (%luanti-account): Likewise. (luanti-activation): New procedure. (luanti-shepherd-service): Likewise. (luanti-service-type): New variable. * gnu/tests/games.scm: New file. Change-Id: I65a1dcf832fa8add9c9d278d82bab91ca3eef086 Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-28tests: Add Fedora foreign distribution test.Rodion Goritskov
* gnu/tests/foreign.scm (qcow-image-with-marionette): - Create .autorelabel file to make copied Guile work on SELinux-enabled systems. (resize-lvm-xfs-partition): New variable. (run-foreign-install-test): Increase RAM for VM to 1024 as 512 is not sufficient to run Guix installation on Fedora. (fedora-qcow2): New variable. (%test-fedora-install): New variable. Change-Id: Ib247a174dfea8630d830763410391077516a8c16 Merges: #5007
2025-12-28tests: foreign: Add Ubuntu test.Rutherther
This one is a bit more complicated than the other ones, because the qcow2 image is too small to hold the tarball contents. So I have decided to add in logic to resize the qemu img, the partition and the filesystem. * gnu/tests/foreign.scm (ubuntu-qcow2): New variable. (ubuntu-uidmap-deb-file): New variable. (ubuntu-libsuid4-deb-file): New variable. (%test-ubuntu-install): New variable. Change-Id: Ib705cfe0aeab5e6ede284b8eff06483aea617349e Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #4997 Change-Id: I17472d160665fa4965d1c1ee00d671746bd5fb74
2025-12-28tests: foreign: Add utilities for resizing foreign images.Rutherther
* gnu/tests/foreign.scm (qcow-image-with-marionette): Add resize-image and resize-proc to resize the image, the partition and the file system. (resize-ext4-partition): New variable. (run-foreign-install-test): Add resize-image and resize-proc; Pass them to qcow-image-with-marionette. Change-Id: I92dbe0cdcafb5ff0a0b6c3e9b96205b4ad9d10e8 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-25tests: foreign: Add test restarting guix-daemon.Rutherther
* gnu/tests/foreign.scm (run-foreign-install-test): Restart the daemon, build and gc afterwards. Followup of 9a78e760762c1d93369e765bdce12388e1662ec6. Change-Id: Ia2304d6b9c83b5b8f410426ce00e078c2f004198 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-19services: nscd: Cause PID 1 to drop nscd database mappings on shutdown.Ludovic Courtès
Partly fixes guix/guix#4269. Fixes a bug whereby shepherd (PID 1) could retain memory mappings for /var/run/nscd/dbXXX, which are created by glibc’s NSS from database file descriptors sent by nscd. Those mappings could then prevent ‘root-file-system’ from re-mounting the root file system as read-write. This change causes PID 1 to drop these mappings. PID 1 typically calls libc database functions such as ‘getgr’ when dealing with AF_UNIX endpoints for socket-activated services, to look up the socket’s owner and group. This is where the bug would manifest. The regression may have been introduced by 85ac164c41fc4c93d3cb2a5d3321c63598c2855f, which caused nscd to handle the password and group databases. * gnu/services/base.scm (nscd-shepherd-service): In ‘stop’ procedure, call ‘getpw’, ‘getgr’, and ‘getaddrinfo’. * gnu/tests/base.scm (run-root-unmount-test) <"open libc NSS database">: New test. (%test-root-unmount): Add #:imported-modules. Change-Id: I197cc8c82165c631f857415898137412ce9bd439 Reported-by: Rutherther <rutherther@ditigal.xyz> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #4828
2025-12-03Update Giacomo's email address.Giacomo Leidi
The change was automated via: git grep -l goodoldpaul@autistici.org | xargs sed -i 's/goodoldpaul@autistici.org/therewasa@fishinthecalculator.me/g' * .mailmap: New entry. Change-Id: I1629388334695d221647afe6a14faf61af5fe0d6 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-12-01tests: Add test to validate /etc/locatime is a symlink.Maxim Cournoyer
Match the modern desktop expectation set by systemd [0] and relied on by some software (GNOME/glib, icecat, ungoogle-chromium, etc.). [0] https://www.man7.org/linux/man-pages/man5/localtime.5.html * gnu/tests/base.scm ("/etc/localtime is a symlink to the timezone data file"): New test. Change-Id: I8fb95abb6a3e455dd7019d5d798f7862d16b6263 Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2025-11-25tests: guix: Remove %nar-herder-os from the end of the module.Christopher Baines
As this is just for local testing. * gnu/tests/guix.scm: Remove %nar-herder-os at module end. Change-Id: I214cabb80f69a23e0e49c865a75b76c9a6e9f840
2025-11-24tests: debian-install: Use download mirror for uidmap source.Efraim Flashner
* gnu/tests/foreign.scm (debian-uidmap-deb-file): Download using a mirror-url. Change-Id: I6036c553e6caba132c961658cb542d06d05e29b3
2025-11-24tests: debian-install: Fix debian-13 qcow2 image.Efraim Flashner
* gnu/tests/foreign.scm (debian-13-qcow2): Adjust source uri to point to the same image. Change-Id: I975140f2febcf0781e6a9c67981b3896629de050
2025-11-10gnu: Fix patchwork service test.Christopher Baines
* gnu/packages/patchutils.scm (patchwork):[arguments]: Write version.txt, tweak some indentation, patch the STATICFILES_DIRS entry. [propagated-inputs]: Add python-tzdata. * gnu/services/web.scm (patchwork-settings-module-compiler): Don't set STATIC_ROOT on debug, as this clashes with STATICFILES_DIRS. (patchwork-django-admin-gexp): Fix. (patchwork-shepherd-services): Workaround issue referencing random-token. * gnu/tests/web.scm (patchwork-initial-database-setup-service): Don't use primitive-fork, as this doesn't work with newer shepherds. (run-patchwork-test): Check the setup runs. Change-Id: I7dfeb816b4f6c9070358d433fb7ca8faa1fbfd2a
2025-11-08gnu: tests: Fix timescaledb test.Mathieu Othacehe
The telemtry error message now looks like: 2025-11-08 11:04:23 localhost postgres[222]: [57-83] 2025-11-08 10:04:23.196 GMT [222] CONTEXT: SQL expression "telemetry_string" 2025-11-08 11:04:23 localhost postgres[222]: [57-84] PL/pgSQL function inline_code_block line 16 at RAISE 2025-11-08 11:04:23 localhost postgres[222]: [57-85] 2025-11-08 10:04:23.196 GMT [222] STATEMENT: CREATE EXTENSION timescaledb 2025-11-08 11:04:23 localhost postgres[234]: [8-1] 2025-11-08 10:04:23.267 GMT [234] LOG: job 3 threw an error 2025-11-08 11:04:23 localhost postgres[234]: [9-1] 2025-11-08 10:04:23.268 GMT [234] ERROR: functionality not supported under the current "apache" license. Learn more at https://timescale.com/. 2025-11-08 11:04:23 localhost postgres[234]: [9-2] 2025-11-08 10:04:23.268 GMT [234] HINT: To access all features and the best time-series experience, try out Timescale Cloud. 2025-11-08 11:04:23 localhost postgres[151]: [8-1] 2025-11-08 10:04:23.270 GMT [151] LOG: background worker "Job History Log Retention Policy [3]" (PID 234) exited with exit code 1 * gnu/tests/databases.scm (run-timescaledb-test): The error message is now part of the syslog and not displayed by psql anymore. Fixes: guix/guix#3551 Change-Id: I60a0615add53e30b9b26f760f5cacbbdbe14a36c
2025-11-08gnu: tests: Fix opensmtpd.Mathieu Othacehe
The test has two issues: - it uses /var/spool/mail instead of /var/mail - the client often takes more than 30 seconds to connect to the smtpd server, because the server tries to perform name resolution on 10.0.2.3 * gnu/tests/mail.scm (%qemu-static-networking-no-nameserver): New variable. (%opensmtpd-os): Use it instead of the dhcpcd-service-type service. (run-opensmtpd-test): Use /var/mail instead of /var/spool/mail. Fixes: guix/guix#3978 Change-Id: I429edbf2460f380f8a617ee1fccd145f34a1f3d6
2025-11-08gnu: tests: Fix the samba test.Mathieu Othacehe
* gnu/tests/samba.scm (run-samba-test): De-duplicate the smbclient test and introduce some retries. Fixes: guix/guix#3981 Change-Id: Id9a68ddd98b31138564f19b85aca68357ad73351
2025-11-08gnu: tests: Fix fail2ban tests.Mathieu Othacehe
As discussed here: https://github.com/fail2ban/fail2ban/issues/1593, the monitored file has to be present before the fail2ban service starts. Create this file in a dedicated activation service. * gnu/tests/security.scm (%auth-log-activation-service): New variable. (run-fail2ban-basic-test, run-fail2ban-simple-test) (run-fail2ban-extension-test): Use it. Fixes: guix/guix#3645 Change-Id: Ic12891cc5438abbd041ceb19e1d22dae51c7c848
2025-11-08gnu: tests: Fix getmail.Mathieu Othacehe
When Shepherd starts the getmail service, the TESTBOX mailbox needs to be present, otherwise getmail fails with: Copyright (C) 1998-2023 Charles Cazabon and others. Licensed under GNU GPL version 2. SimpleIMAPRetriever:alice@localhost:143: mailbox b'TESTBOX' not selectable (TESTBOX) - verify the mailbox exists and you have sufficient permissions 0 messages (0 bytes) retrieved, 0 skipped from SimpleIMAPRetriever:alice@localhost:143 * gnu/tests/mail.scm (run-getmail-test): Move the TESTBOX creation from here ... (%getmail-os): ... to the dovecot configuration. Change-Id: Ic6348565629c69e8b7bccf7c61460ca96850e6bd
2025-11-04installer: Add Sway as an option in the Desktop environment page.Fredrik Salomonsson
* gnu/installer/services.scm (%system-services): desktop-environment for sway and its minimal companion packages. * gnu/tests/install.scm (installation-target-desktop-os-for-gui-tests): Add sway and its companion packages to operating-system packages. Change-Id: I22f4cb67752ce1a15009680a1ba081fae129d45a Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-11-03installer: Add KDE Plasma desktop environment.Rutherther
* gnu/installer/services.scm (%system-services): Add KDE Plasma environment. * gnu/tests/install.scm (installation-target-desktop-os-for-gui-tests): Add plasma-desktop-service-type to operating-system services. (%test-gui-inst)led-desktop-os-encrypted): Extend side for Plasma. Change-Id: Iaf55bb85f40865ee5b79abef23a98a3e04a1e244 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-11-02gnu: tests: Fix gitile.Mathieu Othacehe
* gnu/tests/version-control.scm (%gitile-os): Disable strict owner validation as /srv/git is root-owned. Change-Id: I25457d2b333ec355822141f81d861087b719f782
2025-10-26tests: samba: Add delay in some tests.Efraim Flashner
* gnu/tests/samba.scm (run-samba-test)[smbclient connect, smbclient connect]: Add a delay before checking the connection to the samba server. Change-Id: Iffe378756f05b8b1a63e861ed626c943aceb3fc2
2025-10-25tests: nar-herder: Test the control port.Christopher Baines
* gnu/services/guix.scm (nar-herder-shepherd-services): Add missing variables. * gnu/tests/guix.scm (%nar-herder-os): Have the control server listen on all interfaces. (run-nar-herder-test): Test connecting to the control server. Change-Id: I40949e8adaf0c6491ee56c59d611395a639d497b
2025-10-21tests: guix-daemon: Check that build processes can chown to “kvm”.Ludovic Courtès
* gnu/tests/base.scm (guix-daemon-test-cases)[chown-snippet]: New variable. ["kvm GID mapped"]: New test. Change-Id: I0ce7a9250539766628eb2459d60abce7c05a36ee
2025-10-21tests: debian-install: Install the ‘uidmap’ package.Ludovic Courtès
* gnu/tests/foreign.scm (run-foreign-install-test): Add #:deb-files. [test]("install extra .deb packages"): New test. (debian-uidmap-deb-file): New variable. (%test-debian-install): Pass it via #:deb-files. Change-Id: I489056131d6ff20763457c29610af71866a396b2
2025-10-20tests: Update Archlinux image for foreign install test.Rodion Goritskov
* guix/tests/foreign.scm (archlinux-qcow2): update URL and checksum. (%test-archlinux-install): add comment on possible test failure. Change-Id: Ib1d6040f416a0a1117f956bc15111a0240dfb86b Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-10-20tests: Update Debian image for foreign install test to Debian 13.Rodion Goritskov
* guix/tests/foreign.scm (debian-12-qcow2): rename to debian-13-qcow2. (debian-13-qcow2): new URL and checksum. (%test-debian-install): use new variable. (%test-debian-install): add comment on possible test failures. Change-Id: I0eb241b5c88f73a822edb20815fe09f8c76a2b6b Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-10-17tests: install: Expand the default partition size to 2GiB.Efraim Flashner
* gnu/tests/install.scm (%simple-installation-script, %extlinux-gpt-installation-script, %simple-installation-script-for-/dev/vda, %separate-store-installation-script, %raid-root-installation-script, %lvm-separate-home-installation-script, %encrypted-home-installation-script, %encrypted-root-not-boot-installation-script, %btrfs-raid-root-installation-script): Enlarge the install partition to 2GiB. (%test-raid-root-os, %test-lvm-separate-home-os, %test-encrypted-root-not-boot-os, %test-btrfs-raid-root-os, %test-gui-uefi-installed-os): Adjust accordingly. Change-Id: Idaf8a9c2a3ccd268b838decf18793c24716154d4
2025-10-06mapped-devices/luks: Support extra options.45mg
Allow passing extra options to the 'cryptsetup open' command. * gnu/system/mapped-devices.scm (luks-device-mapping-with-options): [#:extra-options]: New argument. (open-luks-device): Use it. (check-luks-device): Validate it. * doc/guix.texi (Mapped Devices): Document it. * gnu/tests/install.scm (%test-encrypted-root-extra-options-os): New test for it, as well as the previously untested #:allow-discards? option. (%encrypted-root-extra-options-os): New os declaration for the test. Change-Id: I265a431efb0c81ed7cfc984344c6b8a4cc2f1624 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-28gnu: Merge (gnu packages openbox) with (gnu packages wm).Anderson Torres
This file contains two package definitions that should be on wm.scm. They are not overly complex, not tightly couple and small, so there is few to no reason keeping them in a dedicated file. * gnu/packages/openbox.scm (obconf, openbox): Move from here ... * gnu/packages/wm.scm: ... to here. * gnu/packages/openbox.scm: Delete file. * gnu/local.mk: Remove reference to openbox.scm. * gnu/packages/kde-frameworks.scm: Fixup reference to (gnu packages openbox) module. * gnu/packages/lxde.scm: Remove reference to (gnu packages openbox) module. * gnu/packages/lxqt.scm: Fixup reference to (gnu packages openbox) module. * gnu/tests/install.scm: Remove reference to (gnu packages openbox) module. * po/packages/POTFILES.in: Remove reference to openbox.scm. Change-Id: I0b887debb97e8fcc7880c9f05d29981226d06077 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-26services: Add miniflux-service-type.Rodion Goritskov
* doc/guix.texi: Document Miniflux service and configuration. * gnu/services/web.scm: New service. * gnu/services/web.scm: Define shepherd service and account roles. * gnu/tests/web.scm: (%miniflux-create-admin-credentials, miniflux-base-system, %test-miniflux-admin-string, %test-miniflux-admin-file, %test-miniflux-socket): Add system tests for Miniflux service. Change-Id: I4a336e677ec8b46aed632f0ded9cc11c2d38975f Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-18Reapply "Update Maxim's email address."Maxim Cournoyer
This reverts commit a7db92d9b389cbe565395523882c34c6eff2c21a, this time with the more careful command, to avoid a world rebuild: grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \ --exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
2025-09-18Revert "Update Maxim's email address."Maxim Cournoyer
This reverts commit d0d87a744d724b7e7d5ac013c586039652087bb3. Oops! This caused a world rebuild. Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
2025-09-18Update Maxim's email address.Maxim Cournoyer
The change was automated via: git grep -l maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' * .mailmap: New entry. Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
2025-09-14gnu: Remove Tailon services and documentation.Ian Eure
The tailon package was removed in 63023deaf96bd0d90aba262b194bf1445ec5a0b6, but the associated service and documentation weren’t, leading to `guix pull` breaking. Fixes guix/guix#2689. * doc/guix.texi: Remove Tailon documentation. * gnu/services/web.scm (tailon-service-type): Delete variable. (tailon-configuration-file): Delete variable. (tailon-configuration-file?): Delete variable. (tailon-configuration-file-files): Delete variable. (tailon-configuration-file-bind): Delete variable. (tailon-configuration-file-relative-root): Delete variable. (tailon-configuration-file-allow-transfers?): Delete variable. (tailon-configuration-file-follow-names?): Delete variable. (tailon-configuration-file-tail-lines): Delete variable. (tailon-configuration-file-allowed-commands): Delete variable. (tailon-configuration-file-debug?): Delete variable. (tailon-configuration-file-http-auth): Delete variable. (tailon-configuration-file-users): Delete variable (tailon-configuration): Delete variable. (tailon-configuration?): Delete variable. (tailon-configuration-config-file): Delete variable. (tailon-configuration-package): Delete variable. * gnu/tests/web.scm (%test-tailon): Delete variable. Change-Id: I3b507df8233b0440baa6a2bce4604b5813cb3bb0
2025-08-30services: hurd-vm: Support different hurd types.Yelninei
* gnu/services/virtualization.scm (sanitize-hurd-vm-configuration-type): New procedure. (hurd-vm-confiuration): Add type field. (hurd-vm-disk-image): Use it. * doc/guix.texi (hurd-vm-configuration): Document it. * gnu/tests/virtualization.scm (%childhurd64-os): New variable. (run-childhurd-test): Add the os a parameter. (%test-childhurd): Adjust accordingly. (%test-childhurd64): New system test. Change-Id: Ie1c55a9414657ced4bf8b4324527037f1a1f78f4 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-08-25Revert "tests: Use lower-oci-image-state in container tests."Giacomo Leidi
This reverts commit cc07ecd7ccc52540113414eaebafc0fb218ef9ff, which breaks 'guix pull', for to-be-investigated reasons. Fixes: #2252 Change-Id: Idd02dd2e0cd93034e636030845996a9ab3748839 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-08-25tests: Use lower-oci-image-state in container tests.Giacomo Leidi
This patch replaces boilerplate in container related tests with oci-image plumbing from (gnu services containers). * gnu/tests/containers.scm (%oci-tarball): New variable; (run-rootless-podman-test): use %oci-tarball; (build-tarball&run-rootless-podman-test): drop procedure. * gnu/tests/docker.scm (%docker-tarball): New variable; (build-tarball&run-docker-test): use %docker-tarball; (%docker-system-tarball): New variable; (build-tarball&run-docker-system-test): new procedure. Change-Id: Iad6f0704aee188d89464c83722dea0bb7adb084a Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-08-25services: Add oci-service-type.Giacomo Leidi
This patch implements a generalization of the oci-container-service-type, which consequently is made deprecated. The oci-service-type, in addition to all the features from the oci-container-service-type, can now provision OCI networks and volumes. It only handles OCI objects creation, the user is supposed to handle state once the objects are provsioned. It currently supports two different OCI runtimes: Docker and rootless Podman. Both runtimes are tested to make sure provisioned containers can connect to each other through provisioned networks and can read/write data with provisioned volumes. At last the Scheme API is thought to facilitate the implementation of a Guix Home service in the future. * gnu/build/oci-containers.scm: New file containg OCI runtime business logic used in OCI backed Shepherd services. oci-read-lines (oci-system*,oci-object-exists?,oci-object-service-available? oci-image-load,oci-log-verbose,oci-container-execlp,oci-object-create): New procedures. * gnu/local.mk: Add it. * gnu/services/containers.scm (list-of-oci-containers?, list-of-oci-networks?,list-of-oci-volumes?,%oci-supported-runtimes, oci-runtime?,oci-runtime-system-environment,oci-runtime-system-extra-arguments, oci-runtime-system-requirement,oci-runtime-cli,oci-runtime-system-cli, oci-runtime-home-cli,oci-runtime-name,oci-runtime-group, oci-container-shepherd-name,oci-networks-shepherd-name, oci-networks-home-shepherd-name,oci-volumes-shepherd-name, oci-volumes-home-shepherd-name,oci-container-configuration->options, oci-network-configuration->options,oci-volume-configuration->options, oci-container-shepherd-service,oci-objects-merge-lst,oci-extension-merge, oci-service-accounts,oci-service-profile,oci-service-subids, oci-configuration->shepherd-services,oci-configuration-extend): New procedures. (image-reference): Implement unambiguous naming convention, that paired with the new implementation for listing caches images with docker ls or podman ls, allows for more efficient image caching. (oci-container-configuration)[user,group]: Change default-type to maybe-string, since by default containers will run under the user and group declared in oci-configuration records. When unset the oci-service-type will derive their value from the OCI runtime state. [runtime,host-environment,environment,shepherd-actions,ports,extra-arguments]: define a predicate and use it as a type in the configuration. This way errors are reported with source location information. (lower-manifest): Defer to caller the logic of setting up an image tag. (lower-oci-image): Rename to load-oci-image-state. (oci-runtime-state): Intermediate representation of the OCI runtime details. It is supposed to be an internal API. (oci-state): Intermediate representation of the OCI provisioning state, such as containers and networks. It is supposed to be an internal API. (oci-container-invocation): Intermediate representation of the OCI runtime run command to start a container. It is supposed to be an internal API. (%oci-image-loader): Rename to oci-image-loader and use oci-runtime-state and (gnu build oci-containers). (oci-container-shepherd-service): Use oci-state and oci-runtime-state, add command-line action. (oci-network-configuration,oci-volume-configuration,oci-configuration, oci-extension): New record types. (oci-service-type): New service-type. * doc/guix.texi: Document it. * gnu/tests/containers.scm: Test it. * gnu/services/docker.scm: Deprecate the oci-container-service-type. Change-Id: I656b3db85832e42d53072fcbfb91d1226f39ef38 Modified-by: Maxim Cournoyer <maxim@guixotic.coop> Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-08-25tests: oci-container: Set explicit timeouts.Giacomo Leidi
* gnu/tests/docker.scm: Simplify %test-oci-container test case and add explicit timeouts to tests outcomes. Change-Id: I75868479dcce031f3edc98064b1ebcf975f598f5 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-08-03services: mosquitto: Add test suite.Evgeny Pisemsky
* gnu/tests/messaging.scm (%test-mosquitto): New variable. Change-Id: Ia84291576b9417ce678df3e0ed18caa6ce27b759 Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2025-07-24gnu: tests: Replace deprecated dhcp client service.Gabriel Wicki
* gnu/tests/audio.scm, gnu/tests/avahi.scm, gnu/tests/ci.scm, gnu/tests/containers.scm, gnu/tests/cups.scm, gnu/tests/databases.scm, gnu/tests/dict.scm, gnu/tests/dns.scm, gnu/tests/docker.scm, gnu/tests/file-sharing.scm, gnu/tests/guix.scm, gnu/tests/install.scm, gnu/tests/ldap.scm, gnu/tests/lightdm.scm, gnu/tests/mail.scm, gnu/tests/messaging.scm, gnu/tests/monitoring.scm, gnu/tests/networking.scm, gnu/tests/nfs.scm, gnu/tests/package-management.scm, gnu/tests/rsync.scm, gnu/tests/samba.scm, gnu/tests/ssh.scm, gnu/tests/telephony.scm, gnu/tests/upnp.scm, gnu/tests/version-control.scm, gnu/tests/virtualization.scm, gnu/tests/vnstat.scm, gnu/tests/web.scm: (services): Replace dhcp-client-service-type with its replacement dhcpcd-service-type. Change-Id: I01d7f9a8c01736d8c8da591aaf4749bbfa4dcdad
2025-07-19services: Add rabbitmq service.wrobell
* gnu/services/high-availability.scm (<rabbitmq-configuration>): New record. (rabbitmq-shepherd-service): New procedure. (rabbitmq-service-type): New variable. * gnu/tests/high-availability.scm (run-rabbitmq-test): New procedure. (%rabbitmq-os, %tests-rabbitmq): New variables. * doc/gnu.texi (High Availability Services): Document it. Change-Id: I53e9f2881b6340e1ed314785e4c5529b81381a3b Co-authored-by: Christopher Baines <mail@cbaines.net> Reviewed-by: Ludovic Courtès <ludo@gnu.org> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-18mapped-devices: luks: Adjust to support extra arguments.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/70826>. When using ‘luks-device-mapping-with-options’, procedures such as ‘operating-system-boot-mapped-devices’ would fail to identify LUKS mapped devices because they would check whether the mapped device type is ‘eq?’ to ‘luks-device-mapping’. This addresses that by ensuring mapped devices are always of the ‘luks-device-mapping’ type, even when different options are used. * gnu/system/mapped-devices.scm (close-luks-device): Add #:rest. (luks-device-mapping-with-options): Deprecate. * gnu/tests/install.scm (%encrypted-home-os-key-file): Update accordingly. * doc/guix.texi (Mapped Devices): Document use of the ‘arguments’ field of ‘luks-device-mapping’. Remove ‘luks-device-mapping-with-options’ documentation. (Bootloader Configuration): Update example with key file in extra initrd. Change-Id: I5442908cb8ef4e3891dbb053cccf5e42b895486f Reported-by: Tadhg McDonald-Jensen <tadhgmister@gmail.com>
2025-07-18tests: foreign: Add ‘archlinux-install’ test.Ludovic Courtès
* gnu/tests/foreign.scm (archlinux-qcow2, %test-archlinux-install): New variables. Co-authored-by: Ivan Popovych <ivan@ipvych.com> Change-Id: I2fce962a2eafa58fafaf2bdff25fc23df28fd687
2025-07-18tests: foreign: Parameterize root partition device.Ludovic Courtès
* gnu/tests/foreign.scm (run-foreign-install-test): Add #:device parameter and honor it. Change-Id: I68bddaa25e9ba4131fc10366efed6772a3586a31
2025-07-18tests: foreign: Forcefully delete /bin/{wget,gpg}.Ludovic Courtès
* gnu/tests/foreign.scm (run-foreign-install-test)[build]: Attempt to delete /bin/{wget,gpg} before recreating them. Change-Id: I5260cae7f706ce9a492a86b1859591c8446e04a3