Skip to content

ci(wordpress): publish to WordPress.org on merge, then GitHub release and Discord - #57

Merged
bendersej merged 1 commit into
mainfrom
wordpress-autopublish
Sep 29, 2026
Merged

bendersej merged 1 commit into
mainfrom
wordpress-autopublish

Conversation

@bendersej

Copy link
Copy Markdown
Member

Background

Releasing the WordPress plugin meant a manual SVN commit with the operator's credentials, then running the release workflow by hand once WordPress.org caught up.

Changes

  • Merging to main publishes: scripts/publish-wordpress-svn.sh checks the three version strings agree, then publishes a new Stable tag (trunk, assets, tags/<version>) or, for a version already out, syncs only the readme and the listing assets
  • The same workflow then waits for WordPress.org to serve the version (up to 45 minutes), creates the wordpress@<version> GitHub release and posts the changelog to Discord; re-runs publish and announce nothing twice
  • The SVN credentials are read only by the publish job, from a wordpress-org environment deployable from main
  • Every pull request touching the plugin gets a dry-run "publish preview" listing what merging would send
  • wordpress/README.md describes the automatic flow, with the manual SVN steps as a fallback

Notes

  • Dry runs against WordPress.org: main (1.2.0, already published) reports nothing to publish; the 1.2.1 branch lists exactly the 1.2.1 release; a mismatched version fails before touching SVN
  • Needs the wordpress-org environment with SVN_USERNAME and SVN_PASSWORD before the first merge that changes wordpress/svn/

@bendersej
bendersej merged commit 81139b8 into main Sep 29, 2026
7 checks passed
@bendersej
bendersej deleted the wordpress-autopublish branch September 29, 2026 09:08
bendersej added a commit that referenced this pull request Sep 29, 2026
## Background

The Embed and React workflows watched all of `scripts/`, so a change to
the WordPress release scripts (#57) built and tested both SDKs for
nothing.

## Changes

- Embed and React run for `scripts/check-api.mjs` and
`scripts/check-exports.mjs` only, the two shared scripts their packages
call (`check:api`, `check:exports`); their own folders and the root
package files still trigger them as before
bendersej added a commit that referenced this pull request Sep 29, 2026
## Background

Releasing the plugin is now merge-only (#57), except one manual step:
committing `wordpress/svn/tags/<version>/` to git after each release, as
a copy of WordPress.org. Every release is already recorded as a
`wordpress@<version>` GitHub release on the commit it was published
from, so the copy duplicates that history.

## Changes

- `wordpress/svn/tags/` leaves git and is ignored (the manual SVN
fallback still creates it locally)
- The release steps in `wordpress/README.md` end at "Merge", and say
where published versions are recorded

## Notes

- Merging touches `wordpress/svn/`, so the WordPress release workflow
runs: 1.2.1 is already published and the readme and assets match, so it
publishes and announces nothing (the publish preview on this PR shows
the same)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant