Updates
The update round — a backup, the updates, the checks, and the rollback when a check fails.
An update round is how WP Octo updates a site. It is not a click on "update all": it is a sequence with a backup before it, checks after it, and a rollback when the checks fail, and every step of it is recorded.
What a round does
Prepare
The platform checks that it can reach the site, that the site's worker is recent enough to bring the site back on its own if the platform disappears mid-round, and that the site's filesystem is writable where it needs to be. A site that fails any of these gets a round that ends with that reason and touches nothing.
Back up
The worker backs up the plugins that will be updated, the theme, and WordPress core, one component at a time, into the worker's backup directory. These are the rollback points for this round.
Take a baseline
Each of the site's regression pages is captured as it looks before the updates.
Update
The site goes into maintenance mode — a flag with a deadline, so that a round that never finishes cannot hold the site dark — and the worker updates plugins, then the theme, then core, one at a time. A plugin the worker cannot update says why: a premium plugin without a licence is not retried, a download that failed is.
Verify
The site comes out of maintenance mode. The platform checks that the site's front page and its admin answer, then captures each regression page again and compares it with the baseline against the page's threshold.
Roll back if needed
When a check fails, the platform restores what the round changed from the backups it took — plugins, theme, core, or all of them — and records the round as rolled back with the reason. A round whose site the platform cannot bring back on its own is the case the worker's maintenance deadline exists for.
Scheduled and manual rounds
A round is started by the schedule or by a person:
- Scheduled. The package's update frequency — every so many days — sets how often; the site's update weekdays set on which days. The platform checks every hour which sites are due and starts their rounds.
- Manual. Run update round on a site, or on several from the list — an administrator's action.
Both go through the same sequence and the same refusals.
What a round records
Every round has a status that says where it is or how it ended — preparing, backing up, updating plugins, verifying, completed, rolled back, ended unexpectedly, and the failed variants that name the step. Each plugin update in it records the attempt, the worker's answer, and whether the platform verified the new version on the site afterwards. A plugin the worker said it updated but the site does not show as updated is recorded as a verification failure, not as a success.
Rollbacks by hand
From Update rounds, a finished round offers rollback actions — plugins, theme, core, or all — that restore the round's own backups. They are for a problem found after the round's checks passed.
Update emails
Once a day the platform emails the client of each site whose rounds finished, with what was updated and what was not; a client can opt out on its record. Notifications lists the emails.
A round the platform refuses to start
A site whose worker is older than the version that brings a site back on its own is not given a round, by schedule or by hand, and the dashboard says so. The platform asks the site for its version at that moment rather than reading what it last reported, because a file restore can put an older worker back underneath a newer record. Compatibility has the thresholds.