Document automated release process in README

This commit is contained in:
Keith Solomon
2026-08-11 06:50:23 -05:00
parent 84e5119c41
commit f9b8611519
+17
View File
@@ -121,6 +121,23 @@ To avoid rate limits or improve reliability:
1. In your Gitea instance, go to **Settings → Applications** and generate a token. 1. In your Gitea instance, go to **Settings → Applications** and generate a token.
2. Paste it into the plugin settings screen under **Gitea API Token**. 2. Paste it into the plugin settings screen under **Gitea API Token**.
## Building a Release
Releases are automated via GitHub Actions. To cut a new release:
1. Bump `PROJECTS_PORTFOLIO_VERSION` and the plugin header `Version:` in `projects-portfolio.php`.
2. Commit and push to `main`.
3. Tag the release commit: `git tag -a v1.1.0 -m "v1.1.0 — short summary"`.
4. Push the tag: `git push origin v1.1.0`.
The `.github/workflows/release.yml` workflow runs and:
- Builds `projects-portfolio-v<version>.zip` containing only the runtime files (`projects-portfolio.php`, `admin/`, `assets/`, `includes/`, `languages/`, `templates/`, `README.md`, `LICENSE`).
- Uploads the zip as a workflow artifact.
- Creates (or updates) the matching GitHub Release with the zip attached.
Dev-only paths (`composer.json`, `composer.lock`, `vendor/`, `tests/`, `plans/`, `specs/`, `.github/`, `.gitignore`, `.vscode/`, `.claude/`) are intentionally excluded.
## How to Zip the Plugin for GitHub Releases ## How to Zip the Plugin for GitHub Releases
When attaching the plugin to a GitHub release: When attaching the plugin to a GitHub release: