Skip to content
Snippets Groups Projects
  • Christopher Baines's avatar
    12def48b
    Support publishing build events · 12def48b
    Christopher Baines authored
    Add a table to store events, which have a type and a JSON blob. These can be
    used to record changes, this commit inserts events when new builds are
    created, and when the status of builds change.
    
    The EventsOutbox table is then used to track when events have been sent
    out. This is done through the new cuirass-send-events script.
    
    * Makefile.am (bin_SCRIPTS): Add bin/cuirass-send-events.
    .gitignore: Add bin/cuirass-send-events.
    (dist_pkgmodule_DATA): Add src/cuirass/send-events.scm.
    (dist_sql_DATA): Add src/sql/upgrade-5.sql.
    (EXTRA_DIST): bin/cuirass-send-events.in.
    (bin/cuirass-send-events): New rule.
    * bin/cuirass-send-events.in: New file.
    * src/cuirass/send-events.scm: New file.
    * src/sql/upgrade-5.sql: New file.
    * src/cuirass/database.scm (changes-count): New procedure.
    (db-update-build-status!): Call db-add-event after updating the build status.
    (db-add-event): New procedure.
    (db-add-build): Insert an event when a new build is inserted.
    (db-delete-events-with-ids-<=-to): New procedure.
    * src/schema.sql (Events): New table.
    12def48b
    History
    Support publishing build events
    Christopher Baines authored
    Add a table to store events, which have a type and a JSON blob. These can be
    used to record changes, this commit inserts events when new builds are
    created, and when the status of builds change.
    
    The EventsOutbox table is then used to track when events have been sent
    out. This is done through the new cuirass-send-events script.
    
    * Makefile.am (bin_SCRIPTS): Add bin/cuirass-send-events.
    .gitignore: Add bin/cuirass-send-events.
    (dist_pkgmodule_DATA): Add src/cuirass/send-events.scm.
    (dist_sql_DATA): Add src/sql/upgrade-5.sql.
    (EXTRA_DIST): bin/cuirass-send-events.in.
    (bin/cuirass-send-events): New rule.
    * bin/cuirass-send-events.in: New file.
    * src/cuirass/send-events.scm: New file.
    * src/sql/upgrade-5.sql: New file.
    * src/cuirass/database.scm (changes-count): New procedure.
    (db-update-build-status!): Call db-add-event after updating the build status.
    (db-add-event): New procedure.
    (db-add-build): Insert an event when a new build is inserted.
    (db-delete-events-with-ids-<=-to): New procedure.
    * src/schema.sql (Events): New table.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.