Skip to content

Commit 203b8d3

Browse files
committed
Update docs
1 parent d0ab6f7 commit 203b8d3

2 files changed

Lines changed: 54 additions & 2 deletions

File tree

AGENTS.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ It is a monorepo that includes the following components:
1919
- **WordPress plugin** — A plugin that adds SQLite support to WordPress.
2020
- **Test suites** — A set of extensive test suites to cover MySQL syntax and functionality.
2121

22+
The monorepo packages are placed under the `packages` directory.
23+
24+
The WordPress plugin links the SQLite driver using a symlink. The build script
25+
replaces the symlink with a copy of the driver for release.
26+
2227
The codebase is pure PHP with zero dependencies. It supports PHP 7.2 through 8.5,
2328
MySQL syntax from version 5.7 onward, and requires SQLite 3.37.0 or newer
2429
(with legacy mode down to 3.27.0).
@@ -40,8 +45,15 @@ The following commands are useful for development and testing:
4045
composer install # Install dependencies
4146
composer run check-cs # Check coding standards (PHPCS)
4247
composer run fix-cs # Auto-fix coding standards (PHPCBF)
48+
composer run build # Build the plugin zip
4349

44-
# Tests
50+
# SQLite driver tests (under packages/mysql-on-sqlite)
51+
cd packages/mysql-on-sqlite
52+
composer run test # Run unit tests
53+
composer run test tests/SomeTest.php # Run specific unit test file
54+
composer run test -- --filter testName # Run specific unit test class/method
55+
56+
# SQLite Database Integration plugin tests
4557
composer run test # Run unit tests
4658
composer run test tests/SomeTest.php # Run specific unit test file
4759
composer run test -- --filter testName # Run specific unit test class/method
@@ -56,6 +68,20 @@ composer run wp-test-e2e # Run WordPress E2E tests (Playwright)
5668
composer run wp-test-clean # Clean up WordPress environment (Docker and DB)
5769
```
5870

71+
## Release workflow
72+
Release is automated with GitHub Actions. It requires only two manual steps:
73+
74+
1. **Create a draft release with a new tag and changelog.**
75+
The `release-prepare` workflow will automatically:
76+
- Use the draft tag to bump versions in `version.php`, `load.php`, and `readme.txt`.
77+
- Add the draft release changelog entry to `readme.txt`.
78+
- Build the plugin ZIP and attach it to the draft release.
79+
- Create a PR (`release/<version>``trunk`) and link it in the draft release body.
80+
2. **Review and merge the PR.**
81+
The `release-publish` workflow will automatically:
82+
- Publish the draft release.
83+
- Publish the release artifact to WordPress.org.
84+
5985
## Architecture
6086
The project consists of multiple components providing different APIs that funnel
6187
into the SQLite driver to support diverse use cases both inside and outside the

README.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ It is a monorepo that includes the following components:
1717
- **WordPress plugin** — A plugin that adds SQLite support to WordPress.
1818
- **Test suites** — A set of extensive test suites to cover MySQL syntax and functionality.
1919

20+
The monorepo packages are placed under the `packages` directory.
21+
22+
The WordPress plugin links the SQLite driver using a symlink. The build script
23+
replaces the symlink with a copy of the driver for release.
24+
2025
The codebase is pure PHP with zero dependencies. It supports PHP 7.2 through 8.5,
2126
MySQL syntax from version 5.7 onward, and requires SQLite 3.37.0 or newer
2227
(with legacy mode down to 3.27.0).
@@ -29,8 +34,15 @@ The following commands are useful for development and testing:
2934
composer install # Install dependencies
3035
composer run check-cs # Check coding standards (PHPCS)
3136
composer run fix-cs # Auto-fix coding standards (PHPCBF)
37+
composer run build # Build the plugin zip
38+
39+
# SQLite driver tests (under packages/mysql-on-sqlite)
40+
cd packages/mysql-on-sqlite
41+
composer run test # Run unit tests
42+
composer run test tests/SomeTest.php # Run specific unit test file
43+
composer run test -- --filter testName # Run specific unit test class/method
3244

33-
# Tests
45+
# SQLite Database Integration plugin tests
3446
composer run test # Run unit tests
3547
composer run test tests/SomeTest.php # Run specific unit test file
3648
composer run test -- --filter testName # Run specific unit test class/method
@@ -45,6 +57,20 @@ composer run wp-test-e2e # Run WordPress E2E tests (Playwright)
4557
composer run wp-test-clean # Clean up WordPress environment (Docker and DB)
4658
```
4759

60+
## Release workflow
61+
Release is automated with GitHub Actions. It requires only two manual steps:
62+
63+
1. **Create a draft release with a new tag and changelog.**
64+
The `release-prepare` workflow will automatically:
65+
- Use the draft tag to bump versions in `version.php`, `load.php`, and `readme.txt`.
66+
- Add the draft release changelog entry to `readme.txt`.
67+
- Build the plugin ZIP and attach it to the draft release.
68+
- Create a PR (`release/<version>``trunk`) and link it in the draft release body.
69+
2. **Review and merge the PR.**
70+
The `release-publish` workflow will automatically:
71+
- Publish the draft release.
72+
- Publish the release artifact to WordPress.org.
73+
4874
## Architecture
4975
The project consists of multiple components providing different APIs that funnel
5076
into the SQLite driver to support diverse use cases both inside and outside the

0 commit comments

Comments
 (0)