|
| 1 | +# Releasing Filecheck to WordPress.org |
| 2 | + |
| 3 | +The plugin is hosted at: |
| 4 | + |
| 5 | +* SVN: `https://plugins.svn.wordpress.org/filecheck` |
| 6 | +* Public listing: `https://wordpress.org/plugins/filecheck` |
| 7 | + |
| 8 | +Deployment is fully automated via GitHub Actions — you never need to run |
| 9 | +an SVN client by hand. |
| 10 | + |
| 11 | +## One-time setup |
| 12 | + |
| 13 | +1. **Set your SVN password** at |
| 14 | + [profiles.wordpress.org → Account & Security → SVN password](https://profiles.wordpress.org/printapp/profile/edit/group/3/?screen=svn-password). |
| 15 | + This is a dedicated password, not your wp.org login password. |
| 16 | +2. **Add GitHub repository secrets** (Settings → Secrets and variables → Actions): |
| 17 | + * `SVN_USERNAME` = `printapp` (case sensitive — not the email address) |
| 18 | + * `SVN_PASSWORD` = the SVN password from step 1 |
| 19 | +3. Wait for commit access to activate (up to 1 hour after the approval email). |
| 20 | + |
| 21 | +## Shipping a new version |
| 22 | + |
| 23 | +1. Bump the version in **three places** (the workflow fails if they disagree): |
| 24 | + * `filecheck.php` → `Version:` header |
| 25 | + * `filecheck.php` → `FILECHECK_VERSION` constant |
| 26 | + * `readme.txt` → `Stable tag:` |
| 27 | +2. Add a `== Changelog ==` entry (and `== Upgrade Notice ==` if relevant) in `readme.txt`. |
| 28 | +3. Commit to `main`, then tag and push: |
| 29 | + |
| 30 | + ```bash |
| 31 | + git tag v1.0.2 |
| 32 | + git push origin main v1.0.2 |
| 33 | + ``` |
| 34 | + |
| 35 | +4. The **Release plugin** workflow verifies versions, deploys `trunk` + |
| 36 | + `tags/1.0.2` + `assets` to wp.org SVN, and attaches the zip to a GitHub |
| 37 | + release. Note: wp.org search results can take up to 72 hours to reflect |
| 38 | + changes for a new plugin. |
| 39 | + |
| 40 | +What gets deployed is everything in the repo **except** the paths listed in |
| 41 | +`.distignore` (workflows, docs, package.py, the `.wordpress-org` folder — |
| 42 | +the latter is deployed separately to SVN `assets/`). |
| 43 | + |
| 44 | +## Updating only the listing (no code release) |
| 45 | + |
| 46 | +Editing `readme.txt` or anything in `.wordpress-org/` on `main` |
| 47 | +automatically runs the **Update wp.org assets & readme** workflow, which |
| 48 | +pushes those changes to SVN without releasing a new version. You can also |
| 49 | +trigger it manually from the Actions tab. |
| 50 | + |
| 51 | +## Store listing assets (`.wordpress-org/`) |
| 52 | + |
| 53 | +| File | Purpose | |
| 54 | +|------|---------| |
| 55 | +| `banner-1544x500.png` | Retina header banner on the plugin page | |
| 56 | +| `banner-772x250.png` | Standard header banner | |
| 57 | +| `icon-256x256.png` | Retina directory/search icon | |
| 58 | +| `icon-128x128.png` | Standard icon | |
| 59 | +| `screenshot-1.png` … `screenshot-4.png` | Shown in the Screenshots tab, in order; captions come from the `== Screenshots ==` section of `readme.txt` | |
| 60 | + |
| 61 | +Screenshot rule: the numbering in `readme.txt`'s `== Screenshots ==` section |
| 62 | +must match the `screenshot-N.png` filenames. |
| 63 | + |
| 64 | +## First deploy sanity check |
| 65 | + |
| 66 | +After the first successful workflow run, verify: |
| 67 | + |
| 68 | +* `https://plugins.svn.wordpress.org/filecheck/trunk/` contains the plugin files |
| 69 | +* `https://plugins.svn.wordpress.org/filecheck/tags/1.0.1/` exists |
| 70 | +* `https://plugins.svn.wordpress.org/filecheck/assets/` contains banners/icons/screenshots |
| 71 | +* `https://wordpress.org/plugins/filecheck` renders the listing (may take a while to refresh) |
0 commit comments