Commit graph

2 commits

Author SHA1 Message Date
71319a7587 auto-update: Stop treating script noise as success
Both service scripts piped their output through 'tail -5' under
'pipefail', so the exit status came from tail, not the upgrade —
failures looked like success and nothing was sent to the classifier.
For PieFed the problem was worse: deploy.sh starts a service that no
longer exists and pybabel exits 1 on translation errors, so the strict
invocation aborted after stopping the services and left the site down.
Run it plainly (it manages fine without set -e, same as manually) and
judge success by the live service state plus an HTTP check instead of
the exit code.

A Mastodon update that fails now reports its real output and status.
2026-10-06 22:10:10 +09:00
67a9509eaa feat: Add PeerTube & PieFed auto-update, improve classifier
Add auto-update scripts and review examples for PeerTube and PieFed,
bringing total auto-updating services to three.

The classifier now includes the current and target version in the
prompt so it can correctly evaluate conditional upgrade notes like
"follow v8.1.0 instructions if upgrading from <= v8.0.2". Without
this context the model would conservatively flag patch releases as
manual.

All auto-update wrappers now use `bash -euo pipefail` when calling
remote scripts so failures in upstream deploy/upgrade scripts
propagate correctly instead of silently succeeding.

test_classifier.py now accepts a service name argument and derives
realistic version numbers from the release notes for testing.
2026-04-12 23:13:26 +00:00