- 23 Nov, 2022 1 commit
-
-
Ludovic Courtès authored
Previously, a non-local exit (such as an uncaught exception) in the child process would cause it to execute the same code as its parent. * src/cuirass/scripts/remote-worker.scm (start-worker): Wrap child body in 'dynamic-wind'.
-
- 21 Nov, 2022 1 commit
-
-
Ludovic Courtès authored
* src/cuirass/base.scm (process-specs): Remove #:authenticate? parameter to 'latest-channel-instances*'.
-
- 20 Nov, 2022 5 commits
-
-
Mathieu Othacehe authored
* src/cuirass/scripts/remote-worker.scm (%request-period): Increase it to reduce the server pressure.
-
Mathieu Othacehe authored
This is a follow-up of 1fb4b0ac that tried to work around the remote-worker hangs by introducing a non-blocking read. This solution was problematic because when the server is unresponsive, the request-work requests are queued on the worker. When the server is back online, the requests were all sent to server. Use instead the ZMQ_PROBE_ROUTER option that causes the server to send an empty boostrap message to the worker when a connection is established. This empty message will unlock the workers that were hanging on the request-work response. * src/cuirass/scripts/remote-server.scm (zmq-start-proxy): Set the ZMQ_PROBE_ROUTER option on the build socket. * src/cuirass/scripts/remote-worker.scm (start-worker): Ignore the bootstrap message when reading server info however, when receiving a bootstrap message while waiting for a request-work response, keep going.
-
Mathieu Othacehe authored
This reverts commit 1fb4b0ac.
-
Mathieu Othacehe authored
* src/cuirass/scripts/remote-worker.scm (show-help, %options): Adapt them. (%minimum-disk-space): Define if before %default-options in order to use it to set the default value. Use a 5GiB threshold because image builds that are frequently failing due to the lack of space require a lot more than 100MiB.
-
Mathieu Othacehe authored
This is a follow-up of: 228b4a4f. * src/cuirass/scripts/remote-worker.scm (low-disk-space?): Fix a typo.
-
- 18 Nov, 2022 3 commits
-
-
Ludovic Courtès authored
When using 'par-for-each', we'd spawn the whole thread pool of (ice-9 futures), with one thread per core. Using 'n-par-for-each' allows us to spawn just as many threads as needed. * src/cuirass/scripts/evaluate.scm (cuirass-evaluate): Use 'n-par-for-each' instead of 'par-for-each'.
-
Ludovic Courtès authored
* src/cuirass/scripts/evaluate.scm: Remove unnecessary module imports. Use #:autoload and #:select.
-
Ludovic Courtès authored
This helps ensure workers don't pick up builds that are likely to fail due to ENOSPC. * src/cuirass/scripts/remote-worker.scm (show-help, %options): Add '--minimum-disk-space' option. (%default-options): Add 'minimum-disk-space'. (%minimum-disk-space): New variable. (low-disk-space?): New procedure. (start-worker): Call 'request-work' only when 'low-disk-space?' returns #f. (cuirass-remote-worker): Parameterize %MINIMUM-DISK-SPACE.
-
- 12 Nov, 2022 1 commit
-
-
Mathieu Othacehe authored
When the worker sends a request-work message to the server, it then waits undefinitely for a response. If the server receives the response but dies before answering, the client can be blocked forever. * src/cuirass/remote.scm (EAGAIN-safe): New macro. (zmq-get-msg-parts-bytevector/no-wait): New procedure. * src/cuirass/scripts/remote-worker.scm (start-worker): Use the above procedure not to wait the server response undefinitely.
-
- 23 Oct, 2022 2 commits
-
-
Tobias Geerinckx-Rice authored
* src/cuirass/templates.scm (specification-edit): Add a warning explaining that such changes might be overwritten.
-
Tobias Geerinckx-Rice authored
…and add a note about customisation to the header comment. etc/cuirass-remote-worker.service.in (Description): ‘remmote’ → ‘remote’.
-
- 25 Sep, 2022 1 commit
-
-
Tobias Geerinckx-Rice authored
-
- 16 May, 2022 1 commit
-
-
Ludovic Courtès authored
* src/cuirass/scripts/evaluate.scm (inferior-evaluation): Add call to 'close-inferior'.
-
- 26 Apr, 2022 2 commits
-
-
Mathieu Othacehe authored
* src/cuirass/templates.scm (specification-edit): Forbid it. Signed-off-by:
Mathieu Othacehe <othacehe@gnu.org>
-
Mathieu Othacehe authored
Fixes: <https://issues.guix.gnu.org/55024 >. * src/cuirass/http.scm (body->specification): Decode all arguments and not only channel URL and build params. Signed-off-by:
Mathieu Othacehe <othacehe@gnu.org>
-
- 20 Jan, 2022 1 commit
-
-
Mathieu Othacehe authored
* src/cuirass/templates.scm (html-page): Update it.
-
- 19 Jan, 2022 3 commits
-
-
Mathieu Othacehe authored
* tests/database.scm: Fix it.
-
Mathieu Othacehe authored
* src/cuirass/database.scm (db-get-specification): Always return the requested specification even if it is inactive.
-
Mathieu Othacehe authored
* Makefile.am: Fix it.
-
- 09 Jan, 2022 4 commits
-
-
Mathieu Othacehe authored
This reverts commit 3d91c447. It also makes sure that the scripts are compiled.
-
Mathieu Othacehe authored
* src/cuirass/scripts/remote-server.scm (cuirass-remote-server): Set "COLUMNS" to 500.
-
Mathieu Othacehe authored
* Makefile.am (scriptsmoduledir, scriptsobjectdir, dist_scriptsmodule_DATA): Remove them. (dist_pkgmodule_DATA): Add the scripts.
-
Mathieu Othacehe authored
* src/cuirass/scripts/remote-server.scm (cuirass-remote-server): Increase it.
-
- 28 Dec, 2021 1 commit
-
-
Mathieu Othacehe authored
Fixes: <https://issues.guix.gnu.org/52840>. * src/cuirass/templates.scm (build-details): Display it.
-
- 17 Dec, 2021 7 commits
-
-
Mathieu Othacehe authored
Proposed by Leo Famulari here: <https://issues.guix.gnu.org/52487>. * src/cuirass/database.scm (db-update-failed-builds!): Record the starttime and stopttime.
-
Mathieu Othacehe authored
Also distinguish between a build that is completed from a build that is completed with some available logs. * src/cuirass/templates.scm (completed?, completed-with-logs?): New procedures.
-
Mathieu Othacehe authored
* src/cuirass/scripts/remote-server.scm (cuirass-remote-server): Create the cache-directory only once user privileges have been gathered.
-
Mathieu Othacehe authored
* src/cuirass/remote.scm (receive-logs): Catch premature client disconnections and report them.
-
Mathieu Othacehe authored
* src/cuirass/scripts/remote-worker.scm (run-build): If the worker was not able to send the build logs, report it, dump the build logs them and keep things going.
-
Mathieu Othacehe authored
* src/cuirass/remote.scm: Remove extra new-line.
-
Mathieu Othacehe authored
* src/cuirass/scripts/remote-server.scm (zmq-start-proxy): Log wrongly formatted messages.
-
- 14 Dec, 2021 2 commits
-
-
Mathieu Othacehe authored
* src/cuirass/database.scm (db-clear-build-queue): Ignore builds that are already scheduled.
-
Leo Famulari authored
The specification used to build our master branch was renamed from "guix-master" to "master". * doc/cuirass.texi (API description): Change "guix-master" to "master". * src/cuirass/templates.scm: Change "guix-master" to "master".
-
- 07 Dec, 2021 1 commit
-
-
Mathieu Othacehe authored
* src/cuirass/scripts/remote-server.scm (read-worker-exp): Turn log-info into log-debug.
-
- 06 Dec, 2021 4 commits
-
-
Mathieu Othacehe authored
* src/cuirass/logging.scm (log-info, log-debug, log-warning, log-error): New procedures. * src/cuirass/base.scm: Introduce log levels. * src/cuirass/database.scm: Ditto. * src/cuirass/http.scm: Ditto. * src/cuirass/metrics.scm: Ditto. * src/cuirass/notification.scm: Ditto. * src/cuirass/remote.scm: Ditto. * src/cuirass/scripts/register.scm: Ditto. * src/cuirass/scripts/remote-server.scm: Ditto. * src/cuirass/scripts/remote-worker.scm: Ditto. * src/cuirass/scripts/web.scm: Ditto. * src/cuirass/utils.scm: Ditto. * src/cuirass/watchdog.scm: Ditto.
-
Mathieu Othacehe authored
* src/cuirass/scripts/remote-server.scm (add-to-store): Add a drv argument.
-
Mathieu Othacehe authored
* src/cuirass/scripts/remote-server.scm: Move trigger-substitutes-baking upper.
-
Mathieu Othacehe authored
* src/cuirass/scripts/remote-server.scm: Fix typo.
-