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. Apr 21, 2021
  2. Apr 20, 2021
  3. Apr 15, 2021
  4. Apr 14, 2021
  5. Apr 09, 2021
    • Mathieu Othacehe's avatar
      Add the evaluations absolute build summary. · 7542d626
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-get-evaluations-absolute-summary): New
      procedure.
      * src/cuirass/http.scm (url-handler): Pass the evaluation absolute summary to
      "evaluation-info-table".
      * src/cuirass/templates.scm (evaluation-info-table): Adapt it.
      * src/static/css/cuirass.css (job-abs): New section.
      * tests/database.scm ("db-get-evaluations-absolute-summary"): New test.
      Unverified
      7542d626
  6. Apr 08, 2021
    • Mathieu Othacehe's avatar
      Add specification period support. · d86c4ede
      Mathieu Othacehe authored
      * src/sql/upgrade-4.sql: New file.
      * Makefile.am (dist_sql_DATA): Add it.
      * src/schema.sql (Specifications)[period]: New field.
      * src/cuirass/base.scm (process-specs): Honor the specification period.
      * src/cuirass/database.scm (db-get-time-since-previous-build): Rename it into ...
      (db-get-time-since-previous-eval): ... this new procedure.
      * src/cuirass/specification.scm (<specification>)[period]: New field.
      (specification->sexp, sexp->specification): Adapt accordingly.
      * src/cuirass/templates.scm (specification-edit): Ditto.
      * tests/database.scm ("db-get-time-since-previous-build"): Remame it into ...
      ("db-get-time-since-previous-eval"): ... this new procedure.
      Unverified
      d86c4ede
    • Mathieu Othacehe's avatar
      Add a jobs toggle button. · 245d0b5e
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-get-specifications-summary): Return the latest
      evaluation.
      * src/cuirass/templates.scm (specifications-table): Add a monitor and a toggle
      button.
      Unverified
      245d0b5e
    • Mathieu Othacehe's avatar
      Add specification job summary. · 0ba07867
      Mathieu Othacehe authored
      * src/cuirass/database.scm (db-get-specifications-summary): New procedure.
      * tests/database.scm ("db-get-specifications-summary"): New test.
      * src/cuirass/templates.scm (specifications-table): Add a summary argument.
      * src/cuirass/http.scm (url-handler): Adapt it.
      Unverified
      0ba07867
    • Mathieu Othacehe's avatar
      Use the Build id as Jobs foreign key. · 2c3440de
      Mathieu Othacehe authored
      Join Build and Jobs tables using the build id instead of the build derivation
      to speed queries.
      
      * src/sql/upgrade-3.sql: New file.
      * Makefile.am (dist_sql_DATA): Add it.
      * src/schema.sql (Jobs)[derivation]: Replace it by ...
      [build]: this new column.
      * src/cuirass/database.scm (db-add-job, db-get-jobs): Adapt them.
      Unverified
      2c3440de
  7. Apr 07, 2021
    • Mathieu Othacehe's avatar
      Fix job insertion with existing outputs. · 1b35a778
      Mathieu Othacehe authored
      Different derivations may result in a same build output. If a job registers a
      derivation D2 with the output O1, Cuirass may already have processed another
      derivation D1 with the same O1 output.
      
      In that case, the new job must point to the D1 derivation and not the D2
      derivation, for which no build will be triggered.
      
      * src/cuirass/database.scm (db-add-job): Fix it.
      * tests/database.scm ("db-register-builds same-outputs", "db-get-jobs
      same-outputs"): New tests.
      Unverified
      1b35a778
  8. Apr 06, 2021
    • Mathieu Othacehe's avatar
      Add jobs support. · bba13114
      Mathieu Othacehe authored
      Each evaluation registration produces a list of new jobs. Until now, only the
      jobs which build outputs were not stored in the "Outputs" table were added to
      the "Builds" table.
      
      It means that Cuirass looses track of the job list associated to a given
      evaluation.  This is problematic to provide the overall build status of an
      evaluation or to find the evaluation providing the best build coverage.
      
      Add a new "Jobs" table that stores the job list of each evaluation.  Also add
      a new "/api/jobs" API to consult it.
      
      * src/sql/upgrade-2.sql: New file.
      * Makefile.am (dist_sql_DATA): Add it.
      * src/schema.sql (Jobs): New table.
      * src/cuirass/database.scm (db-add-job, db-get-jobs): New procedures.
      (db-register-builds): Call db-add-job.
      * src/cuirass/http.scm (url-handler): New "/api/jobs" route.
      * tests/database.scm ("db-get-jobs", "db-get-jobs names"): New tests.
      * doc/cuirass.texi (Web API, Database): Document it.
      Unverified
      bba13114
  9. Mar 26, 2021
    • Mathieu Othacehe's avatar
      Fix single checkout update. · f5a2eeae
      Mathieu Othacehe authored
      When a new evaluation is triggered by a single channel update, the
      matching specification can have other channels that are not updated. In that
      case, "db-get-checkouts" will only return the checkout corresponding to the
      channel update.
      
      This cause "channel-instances->profile" to fail this way:
      
      In guix/channels.scm:
         911:32  3 (channel-instances->derivation _)
         871:36  2 (channel-instances->manifest (#<<channel-instance> cha?>))
          759:6  1 (channel-instance-derivations (#<<channel-instance> ch?>))
      In ice-9/boot-9.scm:
        1669:16  0 (raise-exception _ #:continuable? _)
      
      ice-9/boot-9.scm:1669:16: In procedure raise-exception:
      ERROR:
        1. &message: "'guix' channel is lacking"
        2. &fix-hint: "Make sure your list of channels\ncontains one channel named @code{guix} providing the core of Guix."
        3. &error-location: #<<location> file: "guix/channels.scm" line: 557 column: 18>
      
      Introduce a db-get-latest-checkout procedure that returns the last checkout of
      a given channel. Use it to request the checkouts of all the channels before
      creating the profile.
      
      * src/cuirass/database.scm (db-get-latest-checkout): New procedure.
      * tests/database.scm ("db-get-latest-checkout"): New test.
      * src/cuirass/scripts/evaluate.scm (latest-checkouts): New procedure.
      (cuirass-evaluate): Use it.
      Unverified
      f5a2eeae
  10. Mar 23, 2021
  11. Mar 13, 2021
  12. Mar 12, 2021
  13. Mar 11, 2021
  14. Mar 10, 2021
  15. Mar 09, 2021
  16. Mar 08, 2021
  17. Mar 05, 2021
  18. Mar 03, 2021
  19. Feb 25, 2021
  20. Feb 24, 2021
  21. Feb 22, 2021
  22. Feb 21, 2021
    • Mathieu Othacehe's avatar
      Add notifications support. · 4495e085
      Mathieu Othacehe authored
      * src/cuirass/mail.scm: New file.
      * src/cuirass/notification.scm: New file.
      * src/sql/upgrade-5.sql: New file.
      * Makefile.am (dist_pkgmodule_DATA, dist_sql_DATA): Add them.
      * src/schema.sql (Specifications)[notifications]: New field.
      * bin/cuirass.in: Wrap inside the "with-notification" macro.
      * src/cuirass/remote-server.scm (remote-server): Ditto.
      * src/cuirass/database.scm (db-add-specification): Add notifications field.
      (db-get-specifications): Ditto.
      (db-update-build-status!): Send notifications.
      * tests/mail.sh: New file.
      * tests/database.scm (mu-debug, tmp-mail): New variables.
      (mailer): New procedure.
      (example-spec): Add an email notification.
      ("mail-notification"): New test case.
      Unverified
      4495e085
  23. Feb 18, 2021
  24. Feb 14, 2021
  25. Feb 11, 2021
  26. Feb 08, 2021
Loading