CluPilotCloud/deploy
nexxo 21b7aaca42
tests / pest (push) Failing after 7m21s Details
tests / assets (push) Successful in 20s Details
tests / release (push) Has been skipped Details
Update only to a released version, never to whatever landed on main
Asked for directly: a commit on main must change nothing on a server, and only
a tag whose version is higher than the installed one may be installed.

The agent asked two different questions before this. A pinned server compared
tags; everything else counted commits on its branch — so a console following
main offered an update for every push, verified or not, and "Jetzt
aktualisieren" meant "take whatever is on the branch right now". Landing on main
and being released are different events, and only the second is a decision
somebody made.

It is one question now, regardless of what the checkout is attached to: is there
a tag whose version is higher than the deployed one? Compared with sort -V
against the version in the deployment manifest — not the VERSION file, which an
update moves before it migrates, so a run that failed in between would leave the
checkout claiming a version it never finished installing. A run always targets
that tag; the branch path is gone. A request that arrives with nothing to
install is answered rather than obeyed, before anything announces a run.

The console follows: the button is disabled with nothing released, says so in a
line rather than leaving a grey button to be guessed at, names the version it
would install rather than a count, and refuses the action server-side as well —
a Livewire action is a public endpoint, and one place a rule may not live is
only in the disabled attribute of a button.

VERSION becomes 1.1.0, to be tagged as the first release this mechanism can see.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 22:32:44 +02:00
..
caddy Make the private hostnames look like nothing is there, and close the way past the proxy 2026-07-27 11:26:48 +02:00
lib Update only to a released version, never to whatever landed on main 2026-07-28 22:32:44 +02:00
clupilot.env.example Show times on the operator's clock, keep storing them in UTC 2026-07-27 17:32:21 +02:00
install-agent.sh Answer a check at once, start an update at once, and count down to neither 2026-07-28 22:25:07 +02:00
install.sh Give the status page its own hostname, and name the right one for Stripe 2026-07-27 08:08:57 +02:00
update-agent.sh Update only to a released version, never to whatever landed on main 2026-07-28 22:32:44 +02:00
update.sh Give the readiness probe long enough for a restart to finish 2026-07-27 14:46:47 +02:00