Overview
Comment: | spublish working now |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.60 |
Files: | files | file ages | folders |
SHA1: |
7b526e9030e0fc9cdfa061ea98fc0c22 |
User & Date: | mrwellan on 2015-12-04 09:58:59 |
Other Links: | branch diff | manifest | tags |
Context
2015-12-04
| ||
11:52 | Added crude log to spublish check-in: a0b0d675ef user: mrwellan tags: v1.60 | |
09:58 | spublish working now check-in: 7b526e9030 user: mrwellan tags: v1.60 | |
2015-12-03
| ||
23:02 | Added template config file for spublish check-in: 77ce036725 user: matt tags: v1.60 | |
Changes
Modified datashare-testing/.spublish.config from [bffda7cb5a] to [5d2a9c0cec].
1 2 | [settings] target-dir #{scheme (create-directory "/tmp/#{getenv USER}/target" #t)} | | | 1 2 3 4 5 6 | [settings] target-dir #{scheme (create-directory "/tmp/#{getenv USER}/target" #t)} allowed-users matt mrwellan [database] location /tmp/#{getenv USER} |
Modified megatest.scm from [38d9e3f6ba] to [95cb73a321].
︙ | ︙ | |||
1308 1309 1310 1311 1312 1313 1314 | "-runall" "run all tests" (lambda (target runname keys keyvals) (if (args:get-arg "-rerun-clean") ;; first set states/statuses correct (let ((states (or (configf:lookup *configdat* "validvalues" "cleanrerun-states") "KILLREQ,KILLED,UNKNOWN,INCOMPLETE,STUCK,NOT_STARTED")) (statuses (or (configf:lookup *configdat* "validvalues" "cleanrerun-statuses") | | | 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 | "-runall" "run all tests" (lambda (target runname keys keyvals) (if (args:get-arg "-rerun-clean") ;; first set states/statuses correct (let ((states (or (configf:lookup *configdat* "validvalues" "cleanrerun-states") "KILLREQ,KILLED,UNKNOWN,INCOMPLETE,STUCK,NOT_STARTED")) (statuses (or (configf:lookup *configdat* "validvalues" "cleanrerun-statuses") "FAIL,INCOMPLETE,ABORT,CHECK"))) (hash-table-set! args:arg-hash "-preclean" #t) (runs:operate-on 'set-state-status target (common:args-get-runname) ;; (or (args:get-arg "-runname")(args:get-arg ":runname")) "%" ;; (common:args-get-testpatt #f) ;; (args:get-arg "-testpatt") state: states ;; status: statuses |
︙ | ︙ |
Modified spublish.scm from [4b8a90376f] to [2d00f660f6].
︙ | ︙ | |||
120 121 122 123 124 125 126 | (writeable (file-write-access? dbpath)) (dbexists (file-exists? dbpath))) (handle-exceptions exn (begin (debug:print 2 "ERROR: problem accessing db " dbpath ((condition-property-accessor 'exn 'message) exn)) | | > > | > > > > > | | | | | | | > | | | | | | | > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > | | | | | | | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | (writeable (file-write-access? dbpath)) (dbexists (file-exists? dbpath))) (handle-exceptions exn (begin (debug:print 2 "ERROR: problem accessing db " dbpath ((condition-property-accessor 'exn 'message) exn)) (exit 1)) (call-with-database dbpath (lambda (db) ;; (print "calling proc " proc " on db " db) (set-busy-handler! db (busy-timeout 10000)) ;; 10 sec timeout (if (not dbexists)(spublish:initialize-db db)) (proc db))))) (print "ERROR: invalid path for storing database: " path)))) ;; copy in file to dest, validation is done BEFORE calling this ;; (define (spublish:cp configdat submitter source-path target-dir targ-file comment) (let ((targ-path (conc target-dir "/" targ-file))) (if (file-exists? targ-path) (begin (print "ERROR: target file already exists, remove it before re-publishing") (exit 1))) (spublish:db-do configdat (lambda (db) (spublish:register-action db "cp" submitter source-path comment))) (let* (;; (target-path (configf:lookup "settings" "target-path")) (th1 (make-thread (lambda () (file-copy source-path targ-path #t)) ;; (let ((pid (process-run "cp" (list source-path target-dir)))) ;; (process-wait pid))) "copy thread")) (th2 (make-thread (lambda () (let loop () (thread-sleep! 15) (display ".") (flush-output) (loop))) "action is happening thread"))) (thread-start! th1) (thread-start! th2) (thread-join! th1)) (cons #t "Successfully saved data"))) ;; remove copy of file in dest ;; (define (spublish:rm configdat submitter target-dir targ-file comment) (let ((targ-path (conc target-dir "/" targ-file))) (if (not (file-exists? targ-path)) (begin (print "ERROR: target file " targ-path " not found, nothing to remove.") (exit 1))) (spublish:db-do configdat (lambda (db) (spublish:register-action db "rm" submitter "" comment))) (let* ((th1 (make-thread (lambda () (delete-file targ-path) (print " ... file " targ-path " removed")) "rm thread")) (th2 (make-thread (lambda () (let loop () (thread-sleep! 15) (display ".") (flush-output) (loop))) "action is happening thread"))) (thread-start! th1) (thread-start! th2) (thread-join! th1)) (cons #t "Successfully saved data"))) (define (spublish:backup-move path) (let* ((trashdir (conc (pathname-directory path) "/.trash")) (trashfile (conc trashdir "/" (current-seconds) "-" (pathname-file path)))) (create-directory trashdir #t) (if (directory? path) (system (conc "mv " path " " trashfile)) |
︙ | ︙ | |||
465 466 467 468 469 470 471 | (print "[setings]\nallowed-users user1 user2 ...\n\n Is MISSING from the config file!") (exit))) (if (not (member user allowed-users)) (begin (print "User \"" (current-user-name) "\" does not have access. Exiting") (exit 1))) (case (string->symbol action) | | | | | | | | | | > > > > > > > > > > | > > > > > > > > > > > > > > > | 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 | (print "[setings]\nallowed-users user1 user2 ...\n\n Is MISSING from the config file!") (exit))) (if (not (member user allowed-users)) (begin (print "User \"" (current-user-name) "\" does not have access. Exiting") (exit 1))) (case (string->symbol action) ((cp publish) (if (< (length args) 1) (begin (print "ERROR: Missing arguments; " (string-intersperse args ", ")) (exit 1))) (let* ((remargs (args:get-args args '("-m") '() args:arg-hash 0)) (src-path-in (car args)) (src-path (with-input-from-pipe (conc "readlink -f " src-path-in) (lambda () (read-line)))) (msg (or (args:get-arg "-m") "")) (targ-file (pathname-strip-directory src-path))) (if (not (file-read-access? src-path)) (begin (print "ERROR: source file not readable: " src-path) (exit 1))) (if (directory? src-path) (begin (print "ERROR: source file is a directory, this is not supported yet.") (exit 1))) (print "publishing " src-path-in " to " target-dir) (spublish:cp configdat user src-path target-dir targ-file msg))) ((rm) (if (< (length args) 1) (begin (print "ERROR: Missing arguments; " (string-intersperse args ", ")) (exit 1))) (let* (;; (remargs (args:get-args args '("-m") '() args:arg-hash 0)) (targ-file (car args)) ;; (src-path (with-input-from-pipe ;; (conc "readlink -f " src-path-in) ;; (lambda () ;; (read-line)))) (msg (or (args:get-arg "-m") ""))) ;; (targ-file (pathname-strip-directory src-path))) (print "attempting to remove " targ-file " from " target-dir) (spublish:rm configdat user target-dir targ-file msg))) ((publish) (if (< (length args) 3) (begin (print "ERROR: Missing arguments; " (string-intersperse args ", ")) (exit 1)) (let* ((srcpath (list-ref args 0)) (areaname (list-ref args 1)) |
︙ | ︙ | |||
517 518 519 520 521 522 523 | "~10a~10a~4a~27a~30a\n" (vector-ref x 0) (vector-ref x 1) (vector-ref x 2) (conc "\"" (time->string (seconds->local-time (vector-ref x 3))) "\"") (conc "\"" (vector-ref x 4) "\"")) (print (vector-ref x 0)))) | | < | | 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 | "~10a~10a~4a~27a~30a\n" (vector-ref x 0) (vector-ref x 1) (vector-ref x 2) (conc "\"" (time->string (seconds->local-time (vector-ref x 3))) "\"") (conc "\"" (vector-ref x 4) "\"")) (print (vector-ref x 0)))) versions))) (else (print "Unrecognised command " action))))) ;; ease debugging by loading ~/.dashboardrc - REMOVE FROM PRODUCTION! (let ((debugcontrolf (conc (get-environment-variable "HOME") "/.spublishrc"))) (if (file-exists? debugcontrolf) (load debugcontrolf))) (define (main) |
︙ | ︙ |