Commit 61d2e39

Eric Bower  ·  2026-07-22 09:51:16 -0400 EDT
parent 0842022
refactor: use `pici` as the pipe event topic name

feat: add systemd unit files
5 files changed,  +37, -5
M run.sh
+1, -1
1@@ -74,6 +74,6 @@ while read -r old_sha new_sha ref; do
2   fi
3 
4   log "publish: $event"
5-  echo "$event" | ssh -T "$PIPE_HOST" pub -b=false build.event
6+  echo "$event" | ssh -T "$PIPE_HOST" pub -b=false pici
7   log "done"
8 done
+17, -0
 1@@ -0,0 +1,17 @@
 2+[Unit]
 3+Description=pici monitor - watch job status and send email notifications
 4+After=network-online.target
 5+Wants=network-online.target
 6+
 7+[Service]
 8+Type=simple
 9+WorkingDirectory=/home/erock/dev/pici
10+Environment=PATH=/home/erock/.local/bin:/home/erock/go/bin:/usr/local/bin:/usr/bin:/bin
11+Environment=PGS_USERNAME=erock
12+Environment=RECIPIENT=monitor@erock.io
13+ExecStart=/usr/bin/bash -c 'pici monitor | /home/erock/dev/pici/scripts/monitor-email.sh'
14+Restart=always
15+RestartSec=10
16+
17+[Install]
18+WantedBy=default.target
+15, -0
 1@@ -0,0 +1,15 @@
 2+[Unit]
 3+Description=pici build runner - subscribe to build events and execute them
 4+After=network-online.target
 5+Wants=network-online.target
 6+
 7+[Service]
 8+Type=simple
 9+WorkingDirectory=/home/erock/dev/pici
10+Environment=PATH=/home/erock/.local/bin:/home/erock/go/bin:/usr/local/bin:/usr/bin:/bin
11+ExecStart=/usr/bin/bash /home/erock/dev/pici/run.sh
12+Restart=always
13+RestartSec=5
14+
15+[Install]
16+WantedBy=default.target
M run.sh
+2, -2
 1@@ -5,8 +5,8 @@
 2 # Usage: ./run.sh
 3 
 4 while true; do
 5-  echo "waiting for build.event ..."
 6-  event=$(ssh pipe sub build.event 2>/dev/null)
 7+  echo "waiting for pici event ..."
 8+  event=$(ssh pipe sub pici 2>/dev/null)
 9   if [ -n "$event" ]; then
10       echo "$event" | pici runner --wait
11   else
+2, -2
 1@@ -809,8 +809,8 @@ details .faq-answer {
 2           <span style="margin-left: 0.5rem;">ci.pico.sh</span>
 3         </div>
 4         <div class="terminal-body">
 5-          <div><span class="prompt">$ </span><span class="cmd">echo '{"type":"push"}' | ssh pipe.pico.sh pub build.event</span></div>
 6-          <div><span class="output">subscribe to this channel: ssh pipe.pico.sh sub build.event</span></div>
 7+          <div><span class="prompt">$ </span><span class="cmd">echo '{"type":"push"}' | ssh pipe.pico.sh pub pici</span></div>
 8+          <div><span class="output">subscribe to this channel: ssh pipe.pico.sh sub pici</span></div>
 9           <div>&nbsp;</div>
10           <div><span class="info">🚀 starting job ci.myrepo.a3f2b8c1</span></div>
11           <div><span class="info">📦 syncing workspace</span></div>