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 02, 2021
    • Mathieu Othacehe's avatar
      remote: Start workers only once. · 79b77b43
      Mathieu Othacehe authored
      * src/cuirass/remote-worker.scm (%workers-started?): New variable.
      (remote-worker): Use it to start workers only once.
      79b77b43
    • Mathieu Othacehe's avatar
      Add build history support. · a57b066e
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-get-builds): Add "oldevaluation" filter.
      * src/cuirass/templates.scm (build-details): Add "history" argument.
      * src/cuirass/http.scm (url-handler): Adapt it.
      a57b066e
  2. Feb 01, 2021
    • Mathieu Othacehe's avatar
      Add weather support in build details. · f9a5cbe0
      Mathieu Othacehe authored
      * src/cuirass/templates.scm (build-details): Display weather.
      f9a5cbe0
    • 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.
      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.
      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.
      7697735f
    • Mathieu Othacehe's avatar
      Fix SQL syntax. · da93cb96
      Mathieu Othacehe authored
      * src/sql/upgrade-3.sql: Fix syntax.
      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.
      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.
      158966dc
  3. 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.
      e9e09439
    • Mathieu Othacehe's avatar
      Truncate long lines. · b993f3d4
      Mathieu Othacehe authored
      * src/cuirass/templates (workers-status): Truncate long lines.
      b993f3d4
    • Mathieu Othacehe's avatar
      Sort workers consistently. · 4370acce
      Mathieu Othacehe authored
      * src/cuirass/templates.scm (workers-status): Sort workers consistently.
      4370acce
    • Mathieu Othacehe's avatar
      Remove left-over procedure. · 6c0298e1
      Mathieu Othacehe authored
      * src/cuirass/templates.scm (workers-status): Remove unused "build-row"
      procedure.
      6c0298e1
  4. Jan 30, 2021
    • Mathieu Othacehe's avatar
      Fix workers display. · 5f770638
      Mathieu Othacehe authored
      * src/cuirass/templates.scm (workers-status): Handle the case where multiple
      builds are started on a worker.
      5f770638
    • Mathieu Othacehe's avatar
      database: Prevent division by zero. · 6838ec2e
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-get-build-percentage): Prevent division by zero.
      6838ec2e
    • Mathieu Othacehe's avatar
      Fix build duration display. · 158dd2bd
      Mathieu Othacehe authored
      * src/cuirass/templates.scm (build-details): Fix build duration display.
      158dd2bd
    • Mathieu Othacehe's avatar
      database: Fix starttime update. · 154653b4
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-update-build-status!): Set starttime when the
      build status is "submitted".
      154653b4
    • Mathieu Othacehe's avatar
      Sort machines consistently. · 7a7c26c6
      Mathieu Othacehe authored
      * src/cuirass/templates.scm (workers-status): Sort machines.
      7a7c26c6
    • Mathieu Othacehe's avatar
      Improve workers page. · 1e8d075d
      Mathieu Othacehe authored
      * src/cuirass/templates.scm (workers-status): Improve display.
      * src/cuirass/http.scm (url-handler): Adapt it.
      1e8d075d
    • Mathieu Othacehe's avatar
      database: Add "db-get-build-percentage". · 213683ad
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-get-build-percentage): New procedure.
      * tests/database.scm ("db-get-build-percentage"): New test.
      213683ad
    • Mathieu Othacehe's avatar
      Add machine field to Worker table. · 1271b117
      Mathieu Othacehe authored
      * src/sql/upgrade-2.sql: New file.
      * Makefile.am (dist_sql_DATA): Add it.
      * src/schema.sql (Workers): Add "machine field".
      * src/cuirass/database.scm (db-get-builds): Return "worker" field.
      (db-add-worker): Honor new "machine" field.
      (db-get-workers): Ditto.
      * src/cuirass/remote-worker.scm (remote-worker): Adapt it.
      * src/cuirass/remote.scm (<worker>)[machine]: New field.
      (worker-machine): New procedure.
      (worker->sexp, sexp->worker): Adapt accordingly.
      (generate-worker-name): Ditto.
      * tests/database.scm (%dummy-worker): Add "machine" field.
      1271b117
  5. Jan 28, 2021
    • Mathieu Othacehe's avatar
      Fix logging. · 68532aee
      Mathieu Othacehe authored
      
      * src/cuirass/remote-server.scm (remote-server): Have stdout/stderr
      line-buffered.
      * src/cuirass/remote-worker.scm (remote-worker): Ditto.
      * src/cuirass/remote.scm (publish-server): Discard publish logs.
      
      Signed-off-by: default avatarMathieu Othacehe <othacehe@gnu.org>
      68532aee
  6. Jan 21, 2021
  7. Jan 18, 2021
  8. Jan 17, 2021
    • Mathieu Othacehe's avatar
      Fix tests. · e61e7a5c
      Mathieu Othacehe authored
      * tests/database.scm (db-init): Force database creation.
      * tests/http.scm (db-init): Ditto.
      * tests/metrics (db-init): Ditto.
      e61e7a5c
    • Mathieu Othacehe's avatar
      database: Fix regression. · 53d8b66b
      Mathieu Othacehe authored
      Fix a regression introduced by cbc46267.
      
      * src/cuirass/database.scm (db-get-builds): Collect BuildProducts id field.
      53d8b66b
  9. Jan 15, 2021
  10. Jan 13, 2021
  11. Jan 11, 2021
  12. 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.
      ca7a7ca9
  13. 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.
      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.
      3673fc31
  14. 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.
      697fa145
  15. Dec 07, 2020
    • Mathieu Othacehe's avatar
      Fix tests. · ab30c228
      Mathieu Othacehe authored
      This is a follow-up of ad44a9bb.
      
      * tests/http.scm (build-query-result): Add "evaluation" field.
      ab30c228
    • 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.
      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.
      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
Loading