<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/gnu/tests/web.scm, branch master</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>services: nginx: Use a fixed location for the nginx configuration file.</title>
<updated>2026-06-03T04:52:35+00:00</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim@guixotic.coop</email>
</author>
<published>2026-05-25T03:19:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=2aa2bbc5fe4594daa3c782a4bfe258db77fdc01f'/>
<id>2aa2bbc5fe4594daa3c782a4bfe258db77fdc01f</id>
<content type='text'>
The motivation is twofold:

 1. We can ensure the presence of the nginx default configuration fragments in
    the configuration file directory;
 2. 'herd reload nginx' can now be used to reload an updated configuration
    file.

Before this change, 'include fastcgi_params;', for example, would fail with
error:

  nginx: [emerg] open() "/gnu/store/fastcgi_params" failed
  (2: No such file or directory) in /gnu/store/...-nginx.conf:50

* gnu/services/web.scm (%nginx-configuration-file): New variable.
(nginx-activation): Delay configuration file check to...
(nginx-shepherd-service): ... a new one-shot 'nginx-init' service.  Adjust to
use the %nginx-configuration-file variable for the configuration file.
&lt;actions&gt;: Add a new 'configuration' action.
(nginx-conf-files, nginx-etc-directory): New procedures.
(nginx-service-type): Extend etc-service-type with nginx-service-type.
* gnu/tests/web.scm (%nginx-servers): Add an include directive to test config
to ensure it now works.

Merges: !8811
Change-Id: I26882ab01288ec4dd374e9f282e95ffa33dfa3cc
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The motivation is twofold:

 1. We can ensure the presence of the nginx default configuration fragments in
    the configuration file directory;
 2. 'herd reload nginx' can now be used to reload an updated configuration
    file.

Before this change, 'include fastcgi_params;', for example, would fail with
error:

  nginx: [emerg] open() "/gnu/store/fastcgi_params" failed
  (2: No such file or directory) in /gnu/store/...-nginx.conf:50

* gnu/services/web.scm (%nginx-configuration-file): New variable.
(nginx-activation): Delay configuration file check to...
(nginx-shepherd-service): ... a new one-shot 'nginx-init' service.  Adjust to
use the %nginx-configuration-file variable for the configuration file.
&lt;actions&gt;: Add a new 'configuration' action.
(nginx-conf-files, nginx-etc-directory): New procedures.
(nginx-service-type): Extend etc-service-type with nginx-service-type.
* gnu/tests/web.scm (%nginx-servers): Add an include directive to test config
to ensure it now works.

Merges: !8811
Change-Id: I26882ab01288ec4dd374e9f282e95ffa33dfa3cc
</pre>
</div>
</content>
</entry>
<entry>
<title>services: web: Add system tests for gunicorn.</title>
<updated>2026-05-26T16:43:22+00:00</updated>
<author>
<name>Sören Tempel</name>
<email>soeren+git@soeren-tempel.net</email>
</author>
<published>2026-05-19T14:23:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9609336829eea06ed9a761a2ea36a54a247a0d65'/>
<id>9609336829eea06ed9a761a2ea36a54a247a0d65</id>
<content type='text'>
* gnu/tests/web.scm (%gunicorn-os): New variable.
(run-gunicorn-test): New variable.
(%test-gunicorn): New variable.

Change-Id: I1ee3fd4c29c7c44aa9c271c6775f953790ca60c3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/tests/web.scm (%gunicorn-os): New variable.
(run-gunicorn-test): New variable.
(%test-gunicorn): New variable.

Change-Id: I1ee3fd4c29c7c44aa9c271c6775f953790ca60c3
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: miniflux: Use the default PostgreSQL version.</title>
<updated>2026-04-07T14:23:33+00:00</updated>
<author>
<name>Nguyễn Gia Phong</name>
<email>cnx@loang.net</email>
</author>
<published>2026-04-07T14:21:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=c973e815212a56c537dedd1558588bbce6a93c56'/>
<id>c973e815212a56c537dedd1558588bbce6a93c56</id>
<content type='text'>
* gnu/tests/web.scm (miniflux-base-system)[postgresql-service-type]:
  Replace postgresql-13 with postgresql.

Change-Id: Iee411b6045ced64592937ed3dfda39c900ec52e7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/tests/web.scm (miniflux-base-system)[postgresql-service-type]:
  Replace postgresql-13 with postgresql.

Change-Id: Iee411b6045ced64592937ed3dfda39c900ec52e7
</pre>
</div>
</content>
</entry>
<entry>
<title>services: web: Add sogogi service.</title>
<updated>2026-03-29T12:12:56+00:00</updated>
<author>
<name>Sören Tempel</name>
<email>soeren+git@soeren-tempel.net</email>
</author>
<published>2025-12-30T15:08:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=3f3cec89932673f1d0b039bef469f14ce2f0cbcd'/>
<id>3f3cec89932673f1d0b039bef469f14ce2f0cbcd</id>
<content type='text'>
* gnu/services/web.scm (sogogi-service-type): New services.
(sogogi-serialize-section, sogogi-serialize-field)
(sogogi-serialize-string, sogogi-serialize-list-of-strings)
(sogogi-serialize-sogogi-user, sogogi-serialize-sogogi-location)
(sogogi-serialize-list-of-sogogi-user): New procedures.
(sogogi-user, sogogi-location)
(sogogi-configuration): New record types.
(sogogi-account-service): New variable.
(sogogi-config-file, sogogi-shepherd-service): New procedures.
* gnu/tests/web.scm (%test-sogogi): Add tests for the service.
* doc/guix.texi (Web Services): Document it.

Change-Id: I5cc6dd84d6c7c8d5d13b685853b19c5d433ed7e5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services/web.scm (sogogi-service-type): New services.
(sogogi-serialize-section, sogogi-serialize-field)
(sogogi-serialize-string, sogogi-serialize-list-of-strings)
(sogogi-serialize-sogogi-user, sogogi-serialize-sogogi-location)
(sogogi-serialize-list-of-sogogi-user): New procedures.
(sogogi-user, sogogi-location)
(sogogi-configuration): New record types.
(sogogi-account-service): New variable.
(sogogi-config-file, sogogi-shepherd-service): New procedures.
* gnu/tests/web.scm (%test-sogogi): Add tests for the service.
* doc/guix.texi (Web Services): Document it.

Change-Id: I5cc6dd84d6c7c8d5d13b685853b19c5d433ed7e5
</pre>
</div>
</content>
</entry>
<entry>
<title>services: Add configuration action to miniflux-service-type.</title>
<updated>2026-02-23T23:58:25+00:00</updated>
<author>
<name>Rodion Goritskov</name>
<email>rodion@goritskov.com</email>
</author>
<published>2026-02-18T22:03:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=396a9451d4fde4e7af181cde00e13cbbf1536925'/>
<id>396a9451d4fde4e7af181cde00e13cbbf1536925</id>
<content type='text'>
* gnu/services/web.scm (miniflux-shepherd-service): Add configuration action.
* gnu/tests/web.scm (run-miniflux-test): Add configuration action check.

Change-Id: I515653070cc0c39fcbe31fef19d8745a1a8d47cb
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services/web.scm (miniflux-shepherd-service): Add configuration action.
* gnu/tests/web.scm (run-miniflux-test): Add configuration action check.

Change-Id: I515653070cc0c39fcbe31fef19d8745a1a8d47cb
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>services: web: Add go-webdav.</title>
<updated>2026-02-08T22:53:58+00:00</updated>
<author>
<name>Sören Tempel</name>
<email>soeren+git@soeren-tempel.net</email>
</author>
<published>2026-02-08T06:27:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=64622248cdc7eae23ff06928f516677b41c4d97d'/>
<id>64622248cdc7eae23ff06928f516677b41c4d97d</id>
<content type='text'>
* gnu/services/web.scm (go-webdav-service-type): New service.
(go-webdav-account-service): New variable.
(go-webdav-shepherd-service): New procedures.
* gnu/tests/web.scm (%test-go-webdav): Add tests for the service.
* doc/guix.texi (Web Services): Document it.

Signed-off-by: Danny Milosavljevic &lt;dannym@friendly-machines.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services/web.scm (go-webdav-service-type): New service.
(go-webdav-account-service): New variable.
(go-webdav-shepherd-service): New procedures.
* gnu/tests/web.scm (%test-go-webdav): Add tests for the service.
* doc/guix.texi (Web Services): Document it.

Signed-off-by: Danny Milosavljevic &lt;dannym@friendly-machines.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gnu: Fix patchwork service test.</title>
<updated>2025-11-10T10:27:36+00:00</updated>
<author>
<name>Christopher Baines</name>
<email>mail@cbaines.net</email>
</author>
<published>2025-11-10T10:19:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=f7125fb55d06cc2ad6bcd86b8071ea079a9ca179'/>
<id>f7125fb55d06cc2ad6bcd86b8071ea079a9ca179</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>services: Add miniflux-service-type.</title>
<updated>2025-09-26T19:39:40+00:00</updated>
<author>
<name>Rodion Goritskov</name>
<email>rodion@goritskov.com</email>
</author>
<published>2025-07-19T08:52:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=054aae7bb201f6ba83390017a4cc644061a6abda'/>
<id>054aae7bb201f6ba83390017a4cc644061a6abda</id>
<content type='text'>
* 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 &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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 &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Reapply "Update Maxim's email address."</title>
<updated>2025-09-18T04:44:12+00:00</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim@guixotic.coop</email>
</author>
<published>2025-09-18T03:25:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=10482f731e6def20df23caa9cd0b9ab428f52a50'/>
<id>10482f731e6def20df23caa9cd0b9ab428f52a50</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Update Maxim's email address."</title>
<updated>2025-09-18T03:07:31+00:00</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim@guixotic.coop</email>
</author>
<published>2025-09-18T03:04:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=a7db92d9b389cbe565395523882c34c6eff2c21a'/>
<id>a7db92d9b389cbe565395523882c34c6eff2c21a</id>
<content type='text'>
This reverts commit d0d87a744d724b7e7d5ac013c586039652087bb3. Oops! This
caused a world rebuild.

Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit d0d87a744d724b7e7d5ac013c586039652087bb3. Oops! This
caused a world rebuild.

Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
</pre>
</div>
</content>
</entry>
</feed>
