aboutsummaryrefslogtreecommitdiff
path: root/sync/vps.scm
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2020-11-30 20:07:01 -0300
committerEuAndreh <eu@euandre.org>2020-11-30 20:07:01 -0300
commit599aa8697208a507c767225d8811df42fa5969be (patch)
tree46903fc04158200f2bb25be5bf3697a24382e734 /sync/vps.scm
parentvps.scm: Add #[f % b c] reader (diff)
downloadserver-599aa8697208a507c767225d8811df42fa5969be.tar.gz
server-599aa8697208a507c767225d8811df42fa5969be.tar.xz
vps.scm: Add tick-cmd-reader for #´cmd args1 args2 $variable´
Diffstat (limited to '')
-rw-r--r--sync/vps.scm19
1 files changed, 15 insertions, 4 deletions
diff --git a/sync/vps.scm b/sync/vps.scm
index 8a4aa71..5ab0ff6 100644
--- a/sync/vps.scm
+++ b/sync/vps.scm
@@ -114,6 +114,17 @@
(read-hash-extend #\[ lambda-shorthand-reader)
+(define (tick-cmd-reader _char port)
+ (cons 'cmd
+ (map (lambda (s)
+ (if (equal? #\$ (string-ref s 0))
+ (string->symbol (substring s 1))
+ s))
+ (string-split (rdelim:read-delimited "´" port)
+ #\space))))
+
+(read-hash-extend #\´ tick-cmd-reader)
+
(define-macro (-> x . sexps)
(srfi-1:fold
(lambda (el acc)
@@ -183,21 +194,21 @@
(define (ci-data-in-repo-notes name path)
(utils:with-directory-excursion path
- (let* ((out-list (-> (cmd "git" "notes" "list")
+ (let* ((out-list (-> #´git notes list´
(string-fun:string-replace-substring "\n" " ")
(string-split #\space)))
(relevant-commits (->> (srfi-1:zip out-list (iota (length out-list)))
(filter (compose odd? srfi-1:second))
(map srfi-1:first))))
(map (lambda (commit)
- (let ((data (-> (cmd "git" "notes" "--ref=refs/notes/ci-data" "show" commit)
+ (let ((data (-> #´git notes --ref=refs/notes/ci-data show $commit´
(string-split #\space)))
- (logs (cmd "git" "notes" "--ref=refs/notes/ci-logs" "show" commit))
+ (logs #´git notes --ref=refs/notes/ci-logs show $commit´)
(href (format #f
"https://~a/~a/blob?id=~a"
git-domain
name
- (cmd "git" "notes" "--ref=refs/notes/ci-logs" "list" commit))))
+ #´git notes --ref=refs/notes/ci-logs list $commit´)))
(list (cons #:status (srfi-1:first data))
(cons #:filename (srfi-1:second data))
(cons #:logs logs)