Skip to content
Snippets Groups Projects
This project is mirrored from https://git.savannah.gnu.org/git/guix/guix-cuirass.git/. Pull mirroring updated .
  1. Feb 01, 2021
    • Mathieu Othacehe's avatar
      Add build weather support. · d7282c05
      Mathieu Othacehe authored
      * src/cuirass/database.scm (build-weather): New macro.
      (build-status->weather): New procedure.
      (db-get-builds): Return the build weather using the new procedure.
      * src/cuirass/http.scm (build->hydra-build): Also return the weather.
      * src/cuirass/templates.scm (weather-class, weather-title): New procedures.
      (build-eval-table): Display the weather.
      * tests/database.scm ("db-get-build weather"): New tests.
      * tests/http.scm (build-query-result): Adapt it.
      Unverified
      d7282c05
    • Mathieu Othacehe's avatar
      database: Fix "db-update-build-status!". · 54244e6e
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-update-build-status): Only consider evaluations
      that happened before the current one. This is useful when updating the build
      status of old evaluations.
      Unverified
      54244e6e
    • Mathieu Othacehe's avatar
      database: Fix "db-get-worker". · 7697735f
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-get-worker): Handle the case where no worker
      were found.
      Unverified
      7697735f
    • Mathieu Othacehe's avatar
      Fix SQL syntax. · da93cb96
      Mathieu Othacehe authored
      * src/sql/upgrade-3.sql: Fix syntax.
      Unverified
      da93cb96
    • Mathieu Othacehe's avatar
      Introduce build "last_status" field. · 74c1a94a
      Mathieu Othacehe authored
      * src/sql/upgrade-3.sql: New file.
      * Makefile.am (dist_sql_DATA): Add it.
      * src/schema.sql (Builds)[last_status]: New field.
      * src/cuirass/database.scm (db-update-build-status!): Honor it.
      (db-get-builds): Return it.
      * tests/database.scm ("db-update-build-status!"): New test.
      Unverified
      74c1a94a
    • Mathieu Othacehe's avatar
      Fix /api/latestbuilds ordering. · 158966dc
      Mathieu Othacehe authored
      Evaluations are added sequentially to database but builds are not always
      registered nor performed in order. This means that a build corresponding to an
      older evaluation can be returned first if it was completed last. Order by
      descending evaluation id to prevent it.
      
      * src/cuirass/database.scm (db-get-builds): Add "evaluation" order.
      * src/cuirass/http.scm (url-handler): Order latestbuilds by descending
      evaluation number.
      Unverified
      158966dc
  2. Jan 31, 2021
    • Mathieu Othacehe's avatar
      Remove workers hash table. · e9e09439
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-add-worker): Rename ...
      (db-add-or-update-worker): ... into this new procedure.
      (db-get-worker, db-remove-unresponsive-workers): New procedures.
      * src/cuirass/remote-server.scm (%workers): Remove it.
      (pop-build): Adapt it.
      (remove-unresponsive-workers!): Remove it.
      (read-worker-exp): Adapt it.
      (zmq-start-proxy): Ditto.
      * tests/database.scm ("db-add-worker"): Rename ...
      ("db-add-or-update-worker"): ... into this new test.
      ("db-get-worker", "db-remove-unresponsive-workers"): New tests.
      Unverified
      e9e09439
    • Mathieu Othacehe's avatar
      Truncate long lines. · b993f3d4
      Mathieu Othacehe authored
      * src/cuirass/templates (workers-status): Truncate long lines.
      Unverified
      b993f3d4
    • Mathieu Othacehe's avatar
      Sort workers consistently. · 4370acce
      Mathieu Othacehe authored
      * src/cuirass/templates.scm (workers-status): Sort workers consistently.
      Unverified
      4370acce
    • Mathieu Othacehe's avatar
      Remove left-over procedure. · 6c0298e1
      Mathieu Othacehe authored
      * src/cuirass/templates.scm (workers-status): Remove unused "build-row"
      procedure.
      Unverified
      6c0298e1
  3. Jan 30, 2021
  4. Jan 28, 2021
  5. Jan 18, 2021
  6. Jan 17, 2021
  7. Jan 15, 2021
  8. Jan 11, 2021
  9. Jan 07, 2021
    • Mathieu Othacehe's avatar
      Add remote build support. · ca7a7ca9
      Mathieu Othacehe authored
      * src/cuirass/remote.scm: New file.
      * src/cuirass/remote-server.scm: New file.
      * src/cuirass/remote-worker.scm: New file.
      * bin/remote-server.in: New file.
      * bin/remote-worker.in: New file.
      * Makefile.am (bin_SCRIPTS): Add new binaries,
      (dist_pkgmodule_DATA): add new files,
      (EXTRA_DIST): add new binaries,
      (bin/remote-server, bin/remote-worker): new targets.
      * .gitignore: Add new binaries.
      * bin/cuirass.in (%options): Add "--build-remote" option,
      (show-help): document it,
      (main): honor it.
      * src/cuirass/base.scm (with-build-offload-thread): New macro,
      (%build-remote?, %build-offload-channel): new parameters,
      (make-build-offload-thread): new procedure,
      (build-derivations/offload): new procedure,
      (restart-builds): use it to offload builds when %build-remote? is set,
      (build-packages): ditto.
      Unverified
      ca7a7ca9
  10. Dec 09, 2020
    • Mathieu Othacehe's avatar
      Remove debug message. · f65ef23c
      Mathieu Othacehe authored
      src/cuirass/base.scm (build-packages): Remove debug message that can be
      inaccurate if queue-size is superior to 1.
      Unverified
      f65ef23c
    • Mathieu Othacehe's avatar
      Save the build machine. · 3673fc31
      Mathieu Othacehe authored
      * src/sql/upgrade-17.sql: New file.
      * Makefile.am (dist_sql_DATA): Add it.
      * src/schema.sql (Builds): Add "machine" field.
      * src/cuirass/database.scm (db-update-build-machine!): New procedure.
      * src/cuirass/base.scm (handle-build-event): Use it to record the machine
      performing the build.
      Unverified
      3673fc31
  11. Dec 08, 2020
    • Mathieu Othacehe's avatar
      Add "queue size" argument. · 697fa145
      Mathieu Othacehe authored
      * bin/cuirass.in (%options): Add "queue-size" argument.
      (show-help): Document it.
      (main): Honor it.
      * src/cuirass/database.scm (%db-writer-queue-size): New parameter,
      (with-queue-writer-worker): use it.
      Unverified
      697fa145
  12. Dec 07, 2020
    • Mathieu Othacehe's avatar
      http: Add /api/evaluation route. · ac2187ff
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-get-evaluation): New procedure.
      * src/cuirass/http.scm (url-handler): Add "/api/evaluation" route.
      Unverified
      ac2187ff
    • Mathieu Othacehe's avatar
      http: Add evaluation field to hydra-build. · ad44a9bb
      Mathieu Othacehe authored
      * src/cuirass/http.scm (build->hydra-build): Add "evaluation" field.
      Unverified
      ad44a9bb
    • Christopher Baines's avatar
      database: Fix using sqlite-reset in a few queries. · b2c77dd6
      Christopher Baines authored
      Rather than calling sqlite-reset before reading the rows, call sqlite-reset
      after. I think this is important to stop SQLite getting stuck because the
      statement is still live even though it's not being read from after these
      procedures return.
      
      Assuming I've got the ordering right, I think using sqlite-fold-right directly
      is simpler code as well.
      
      * src/cuirass/database.scm (db-get-builds-by-search, format-build-products,
      db-get-events): Rewrite fetching result rows.
      b2c77dd6
    • Christopher Baines's avatar
      database: Remove redundant reset calls. · 23d75284
      Christopher Baines authored
      sqlite-prepare will reset cached statements before returning them, so these
      sqlite-reset calls are redundant.
      
      * src/cuirass/database.scm (db-get-builds-query-min, db-get-builds-query-max):
      Remove sqlite-reset calls.
      23d75284
    • Christopher Baines's avatar
      database: Don't finalise cached statements. · 068ad30a
      Christopher Baines authored
      All these statements are cached, but that's pointless if they're finalized
      after use, because they'll need recreating on next use.
      
      * src/cuirass/database.scm (%sqlite-exec, db-get-builds-query-min,
      db-get-builds-query-max): Replace sqlite-finalize with sqlite-reset.
      068ad30a
  13. Dec 03, 2020
  14. Nov 25, 2020
    • Mathieu Othacehe's avatar
      Use specification for periodic builds. · fd432b8e
      Mathieu Othacehe authored
      When the periodic argument is passed to a job, it will be registered only if
      the time difference between the current time and the registration time of the
      last build is greater than the specified period. Make sure that the last job
      that is searched is part of the same specification.
      
      * src/sql/upgrade-16.sql: New file.
      * Makefile.am (dist_sql_DATA): Add it.
      * src/schema.sql (Builds_job_name_timestamp): New index.
      * src/cuirass/database.scm (db-get-time-since-previous-build): Add
      "specification" argument,
      (db-register-builds): pass it.
      Unverified
      fd432b8e
    • Mathieu Othacehe's avatar
      Fix interactive checkout. · e0f97e47
      Mathieu Othacehe authored
      This is a work-around: https://issues.guix.gnu.org/44742.
      
      * src/cuirass/base.scm (fetch-inputs): Set "current-error-port" parameter to a
      void port to prevent the fetch progression bar to appear.
      Unverified
      e0f97e47
    • Mathieu Othacehe's avatar
      Add periodical build support. · 053f9227
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-get-time-since-previous-build): New procedure,
      (db-register-builds): if the period argument is set, only register builds
      which last registration is older than the specified period.
      Unverified
      053f9227
  15. Nov 02, 2020
    • Mathieu Othacehe's avatar
      Revert "Use a non-blocking socket for store communication." · 3fd0eb15
      Mathieu Othacehe authored
      This reverts commit 38790945 that causes:
      
      2020-11-02T11:05:08 fatal: uncaught exception 'wrong-type-arg' in 'build' fiber!
      2020-11-02T11:05:08 exception arguments: ("struct-vtable" "Wrong type argument in position 1 (expecting struct): ~S" (#f) (#f))
      In ice-9/boot-9.scm:
        1731:15 12 (with-exception-handler #<procedure 7fb1a93f9930 at ic…> …)
        1736:10 11 (with-exception-handler _ _ #:unwind? _ # _)
          718:2 10 (call-with-prompt ("break") #<procedure 7fb1ab76f440 a…> …)
          718:2  9 (call-with-prompt ("continue") #<procedure 7fb1ab77084…> …)
      In ice-9/eval.scm:
          619:8  8 (_ #(#(#<directory (guile-user) 7fb1ac680f00> #<var…> …)))
      In srfi/srfi-1.scm:
          634:9  7 (for-each #<procedure 7fb1a9525900 at cuirass/base.scm…> …)
      In ice-9/boot-9.scm:
        1731:15  6 (with-exception-handler #<procedure 7fb1a95a94e0 at ic…> …)
        1669:16  5 (raise-exception _ #:continuable? _)
        1764:13  4 (_ #<&compound-exception components: (#<&assertion-fail…>)
      In cuirass/utils.scm:
          319:8  3 (_ _ . _)
      In ice-9/boot-9.scm:
        1731:15  2 (with-exception-handler #<procedure 7fb1ab2e3720 at ic…> …)
      In cuirass/utils.scm:
         320:22  1 (_)
      In unknown file:
                 0 (make-stack #t)
      ERROR: In procedure make-stack:
      In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f
      Unverified
      3fd0eb15
  16. Oct 28, 2020
Loading