44 lines
1.6 KiB
Markdown
44 lines
1.6 KiB
Markdown
# wp-updates
|
|
|
|
Shared, self-hosted **update channel** for the `wordpress` org's WordPress
|
|
projects. It is the counterpart to `ee-extensions/foh-updates`: a plain,
|
|
public repo that hosts the update **manifests** and release payloads that
|
|
WordPress installs pull from.
|
|
|
|
## What lives here
|
|
|
|
Each managed project gets:
|
|
|
|
- `{slug}.json` — the PUC-compatible JSON manifest (at minimum `version` and
|
|
`download_url`; every other PUC field is optional and enriches the Updates
|
|
screen / "View details" modal).
|
|
- `{slug}/` — a directory for that project's release assets (zips, icons,
|
|
banners, screenshots) referenced by its manifest.
|
|
|
|
These files are not hand-edited: each project's release CI publishes its
|
|
manifest and zip here on release.
|
|
|
|
`manifest-updater` is the first resident (`manifest-updater.json` +
|
|
`manifest-updater/`). The channel can host many projects side by side, exactly
|
|
like `ee-extensions/foh-updates` does.
|
|
|
|
## How it's consumed
|
|
|
|
Projects opt in through their WordPress **`Update URI:`** header, pointing at
|
|
this repo's raw manifest URL with a `#manifest-updater.json` fragment, e.g.:
|
|
|
|
```
|
|
Update URI: https://gitea.mulligan.casa/wordpress/wp-updates/raw/branch/main/manifest-updater.json#manifest-updater.json
|
|
```
|
|
|
|
The network-activated **manifest-updater** plugin reads that header, fetches the
|
|
manifest from here, and surfaces the update through WordPress's native Plugins /
|
|
Updates screens.
|
|
|
|
## Must remain public
|
|
|
|
Installed sites fetch manifests and release payloads over unauthenticated
|
|
`raw/branch/main/...` URLs. **This repository must stay public** — making it
|
|
private breaks self-updates for every project that points its `Update URI:`
|
|
here.
|