X-Git-Url: https://code.consxy.com/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fbase.lisp;h=871da36596bc4939a5cf924cb1c5df7b839defba;hb=2a45e9d6f9b421e06095281ad47c127db3b8b476;hp=f06371b4f5e9333e2f5196bab633cb019bce1992;hpb=45649dd09c4d8294cfab3277a1c46f6e6ee1df6c;p=candle diff --git a/src/main/base.lisp b/src/main/base.lisp index f06371b..871da36 100644 --- a/src/main/base.lisp +++ b/src/main/base.lisp @@ -1,4 +1,23 @@ (in-package #:candle) +(defvar *candle-dir*) + +(define-condition candle-error (error) ((reason :initarg :reason :reader candle-error-reason))) +(defun raise-candle-error (reason) (error (make-instance 'candle-error :reason reason))) + (lame-db:defdbstruct project name src) -(lame-db:defdbstruct job status sha when-run (project :join project)) + +; Status here is: +; - :queued - to be run +; - :failed - job failed +; - :succeeded - job succeeded +; - :no-candle-file - no candle file was found +; - :in-progress - job is running +(lame-db:defdbstruct job status sha create-date log (project :join project)) + +; in-git here refers to whether the branch exists in git. As branches get deleted, +; this will get set to nil but we keep them around for historical reference +(lame-db:defdbstruct branch name in-git (project :join project) (job :join job)) + +(defun project-dir (project) + (format nil "~Arepos/~A/" *candle-dir* (project-name project)))