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 12, 2021
  6. 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.
      7542d626
  7. Apr 08, 2021
    • Mathieu Othacehe's avatar
      Fix display glitches. · d3d1f384
      Mathieu Othacehe authored
      * src/cuirass/templates.scm (specifications-table): Fix glitches.
      * src/static/css/cuirass.css (job-val): New section.
      * doc/cuirass.texi: Update it.
      d3d1f384
    • Mathieu Othacehe's avatar
      Add support for new build types. · 152f7a68
      Mathieu Othacehe authored
      * src/cuirass/specification.scm (%build-types): Add 'images, 'system-tests and
      'tarball support.
      * doc/cuirass.texi (Specifications): Adapt it.
      152f7a68
    • 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.
      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.
      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.
      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.
      2c3440de
    • Mathieu Othacehe's avatar
      Add a spinner to dashboard page. · 065dbea5
      Mathieu Othacehe authored
      * src/cuirass/templates.scm (evaluation-dashboard): Add a spinner.
      065dbea5
  8. 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.
      1b35a778
    • Mathieu Othacehe's avatar
      Add dashboard display. · ec0be964
      Mathieu Othacehe authored
      * src/cuirass/http.scm (url-handler): New "/eval/id/dashboard" route.
      * src/cuirass/templates.scm (evaluation-dashboard): New procedure.
      * src/static/css/cuirass.css (content-fixed-margin, dashboard, div.tooltip):
      New sections.
      ec0be964
  9. Apr 06, 2021
    • Mathieu Othacehe's avatar
      Add d3.js support. · 63ce1c94
      Mathieu Othacehe authored
      * src/static/js/d3.v6.min.js: New file.
      * Makefile.am (dist_js_DATA): Add it.
      * src/cuirass/http.scm (%file-white-list): Add it.
      * src/cuirass/templates.scm (html-page): Add it.
      63ce1c94
    • 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.
      bba13114
  10. Mar 27, 2021
  11. Mar 26, 2021
    • Mathieu Othacehe's avatar
      http: Rename respond-gzipped-file. · ff3f25d2
      Mathieu Othacehe authored
      * src/cuirass/http (respond-gzipped-file): Rename it to ...
      (respond-compressed-file): ... this new procedure. Add support for bzip2
      compressed files.
      (url-handler): Adapt it.
      ff3f25d2
    • Mathieu Othacehe's avatar
      base: Record the log file. · d5724217
      Mathieu Othacehe authored
      * src/cuirass/base.scm (handle-build-event): Add a store argument and use it
      to record the log file.
      (spawn-builds): Adapt it.
      d5724217
    • Mathieu Othacehe's avatar
      base: Remove unused argument. · a6e7d856
      Mathieu Othacehe authored
      * src/cuirass/base.scm (set-build-successful!): Remove log argument.
      a6e7d856
    • 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.
      f5a2eeae
  12. Mar 25, 2021
  13. Mar 23, 2021
Loading