Conversation
370dac1 to
a1a3947
Compare
579c76d to
02cae96
Compare
02cae96 to
f50b537
Compare
Add GitHub Actions workflows for the release process: 1. When a draft release is created or edited on GitHub, the prepare-release workflow bumps version numbers, updates the changelog in readme.txt, builds the plugin zip, uploads it to the draft release, and creates a release PR. 2. When the release PR is merged to trunk, the publish-release workflow publishes the draft release and creates the tag. Also add a build script (bin/build-plugin-zip.sh) that assembles the plugin zip by copying the plugin package, resolving the driver symlink, and removing dev-only files.
When a GitHub release is published, download the plugin zip from the release and deploy it to WordPress.org via SVN.
f50b537 to
203b8d3
Compare
adamziel
approved these changes
Mar 31, 2026
Merged
4 tasks
JanJakes
added a commit
to WordPress/wordpress-playground
that referenced
this pull request
Apr 1, 2026
## Summary - The [sqlite-database-integration](https://github.com/WordPress/sqlite-database-integration) repository was restructured into a monorepo ([WordPress/sqlite-database-integration#334](WordPress/sqlite-database-integration#334)). The plugin now needs to be built from a subpackage. - The refresh script now shallow-clones the SQLite repository and runs its build script (`bin/build-sqlite-plugin-zip.sh`) to produce a self-contained plugin ZIP with the driver symlink resolved. - For older tagged versions (pre-monorepo), the script falls back to downloading the GitHub archive, which still works correctly. ## Test plan - [x] Verified `npx nx run playground-wordpress-builds:bundle-sqlite-database` succeeds for both `trunk` and `v2.1.16` - [x] Verified the trunk ZIP contains the correct flat plugin structure with `db.copy`, `load.php`, and a real `wp-includes/database/` directory - [x] Verified the v2.1.16 ZIP is identical to the previous version (84 KB) - [x] Verify Playground boots correctly with the new trunk ZIP (run `npm run dev` and confirm SQLite works)
This was referenced Apr 2, 2026
Merged
JanJakes
added a commit
that referenced
this pull request
Apr 2, 2026
## Release `2.2.21` Version bump and changelog update for release `2.2.21`. **Changelog draft:** * Rework release workflow ([#350](#350)) * Monorepo setup + release automation ([#334](#334)) * Fix incorrect PHP polyfill implementations ([#338](#338)) **Full changelog:** v2.2.20...release/v2.2.21 ## Next steps 1. **Review** the changes in this pull request. 2. **Push** any additional edits to this branch (`release/v2.2.21`). 3. **Merge** this pull request to complete the release. Merging will automatically build the plugin ZIP, create a [GitHub release](https://github.com/WordPress/sqlite-database-integration/releases), and deploy to [WordPress.org](https://wordpress.org/plugins/sqlite-database-integration/).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR restructures the repository into a monorepo with separate packages and adds release automation.
Monorepo structure
The plugin package links to the driver through a
wp-includes/databasesymlink. The release build script (composer run build) resolves this symlink into a real copy, producing a self-contained plugin zip.WordPress setup for WP tests remains at the repository root for now. The tests for the legacy driver remain there as well (to be deleted soon).
We eventually split it even further (
mysql-parser, ...) and handle the grammar tools, but that can be addressed separately.Automated release workflow
Release is automated with GitHub Actions. It requires only two manual steps:
The
release-prepareworkflow will automatically:version.php,load.php, andreadme.txt.readme.txt.release/<version>→trunk) and link it in the draft release body.The
release-publishworkflow will automatically:Closes #83, #200, and #328.
Note that currently, the release workflow is aimed at releasing the SQLite plugin, which goes hand-in-hand with the driver changes. If we need to decouple the releases at some point (e.g., release a new driver version, but not plugin, or release the plugin only), then we'll need to address that.
Testing
I will test and fine-tune the release workflow on
trunkusing a temporary nonsense tag (0.0.1-test1, etc.). The WordPress.org part requires SVN credentials, and I will test and fine-tune it with the next plugin release.Next steps
mysql-parser, ...).