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
+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> </div>
10 <div><span class="info">🚀 starting job ci.myrepo.a3f2b8c1</span></div>
11 <div><span class="info">📦 syncing workspace</span></div>