Guard tag-and-mirror CI job on pushes to main
Uses push.ref against "refs/heads/main" to skip tagging and mirroring
for non-main branches. The push table exposes ref (not branch), per
the Lua bindings in src/ci/lua.rs.

Assisted-by: GLM-5.1 via pi
change srrrvxsyxkypyzyxnlpqrwoztokutonp
commit 42963cca59907228604c1ac45cacdca7e0c5fed0
author Alpha Chen <alpha@kejadlen.dev>
date
parent mvwqtuzx
diff --git a/.quire/ci.fnl b/.quire/ci.fnl
index fa424b7..e60d38d 100644
--- a/.quire/ci.fnl
+++ b/.quire/ci.fnl
@@ -3,22 +3,23 @@
 
 (job :tag-and-mirror [:quire/push]
      (fn [{: sh : secret : jobs}]
-       (let [{: sha} (jobs :quire/push)
-             date (-> (sh "date --utc +%Y-%m-%d")
-                      (. :stdout)
-                      (: :gsub "\n$" ""))
-             tag (.. :v date "+" (sha:sub 1 12))
-             token (secret :github_token)
-             encoded (-> (sh "printf '%s' \"$T\" | base64"
-                             {:env {:T (.. "x-access-token:" token)}})
-                         (. :stdout)
-                         (: :gsub "\n$" ""))
-             auth-header (.. "Authorization: Basic " encoded)]
-         (sh [:git :tag tag sha])
-         (sh [:git
-              :-c
-              (.. :http.extraHeader= auth-header)
-              :push
-              :--porcelain
-              mirror-url
-              (.. :refs/tags/ tag)]))))
+       (let [{: ref : sha} (jobs :quire/push)
+             token (secret :github_token)]
+         (when (= ref "refs/heads/main")
+           (let [date (-> (sh "date --utc +%Y-%m-%d")
+                          (. :stdout)
+                          (: :gsub "\n$" ""))
+                 tag (.. :v date "+" (sha:sub 1 12))
+                 encoded (-> (sh "printf '%s' \"$T\" | base64"
+                                 {:env {:T (.. "x-access-token:" token)}})
+                             (. :stdout)
+                             (: :gsub "\n$" ""))
+                 auth-header (.. "Authorization: Basic " encoded)]
+             (sh [:git :tag tag sha])
+             (sh [:git
+                  :-c
+                  (.. :http.extraHeader= auth-header)
+                  :push
+                  :--porcelain
+                  mirror-url
+                  (.. :refs/tags/ tag)]))))))