Jetpack CRM - Core CRM Plugin - WordPress.org Hosted
The Makefile wraps the common development tasks. Run make help to list every
target.
- Docker (running) — the local WordPress environment
uses
@wordpress/env. - Node.js and npm.
- Composer.
make install # install Composer (PHP) and npm (JS) dependencies
make install-hooks # optional: install the git pre-push hook (blocks pushes to trunk)make up # start WordPress at http://localhost:8888 (admin / password)
make down # stop the containers (keeps the database)
make destroy # remove the containers and the databaseThe plugin is mounted into the container, so edits are picked up live (run
make build first if you change compiled assets — see below).
| Target | What it does |
|---|---|
make logs |
Tail the WordPress container logs |
make cli |
Open a shell inside the cli container |
make wp CMD="plugin list" |
Run a wp-cli command in the container |
make test |
Run the PHPUnit unit suite |
make lint |
Run PHP CodeSniffer on files changed vs trunk |
make build |
Build dist/zero-bs-crm.zip (tracked source from HEAD, assets compiled fresh) |
make clean |
Remove the dist/ staging directory |
Releases are cut from this repository. The flow is two steps: prepare a release PR locally, then merge it to trigger the automated release.
Before running, make sure:
- Your working tree is clean (the command refuses to run otherwise).
- You are authenticated with the GitHub CLI (
gh auth login). - A GitHub milestone named after the version (e.g.
6.9.0) exists, with the merged PRs to include assigned to it. The changelog is assembled from those PRs.
make release VERSION=6.9.0This bumps the version everywhere it appears (plugin header, JPCRM_VERSION,
readme.txt stable tag, package.json), assembles the changelog, and opens a
release/zero-bs-crm-6.9.0 PR. You can edit the changelog in the PR
description in the browser before merging.
Merging the release PR triggers .github/workflows/create-release.yml, which:
- writes the (edited) changelog from the PR body into
readme.txt, - builds the plugin (
make build), - tags the release and creates the GitHub release (with the built
zero-bs-crm.zipattached), and - deploys the built plugin to WordPress.org.
The WordPress.org deploy requires the WORDPRESSORG_SVN_USERNAME and
WORDPRESSORG_SVN_PASSWORD repository secrets to be set.