RAN WP Release Updater Example
A minimal WordPress plugin demonstrating how to bundle RAN WP Release Updater for automatic updates from GitHub releases. Also serves as a maintained integration fixture to verify updates across successive releases.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/rocketsarenostalgic/ran-wp-release-updater-example/archive/refs/heads/main.zipThis is a minimal plugin integration for
ran/wp-release-updater.
It demonstrates a passive, early registration of a GitHub-backed native
WordPress update target; it does not add a settings screen, custom installer,
or release publisher.
It requires WordPress 7.0 or later and PHP 8.4–8.5. The main plugin file loads
and registers the updater before plugins_loaded; registration is passive.
Adapt it
Change the plugin header and registration together:
- use your canonical
https://github.com/owner/repositoryas both Plugin URI and Update URI; - use GitHub's numeric repository ID, not the
owner/repositoryname; - keep
channel: 'stable'for stable tags, and choosemanual,automatic,forced-off, ordisableddeliberately forupdate_policy.
automatic only permits automatic installation after the updater's normal
immutable/provenanced-release verification succeeds. It never means “install
anything newer”. Keep credentials request-local and outside the distributed ZIP.
Development
composer install
pnpm install --frozen-lockfile
composer check
pnpm check
python3 scripts/build-plugin-zip.py --output-dir build
The builder emits a deterministic one-root ZIP and build/manifest.json with
its SHA-256. The ZIP includes the no-dev updater dependency under vendor, so
production WordPress sites do not need Composer. Release Please owns version
updates. No release, publication, deployment, or WordPress.org action is
performed by the builder.