This reusable plugin-release workflow can be called from a central .github repository or from other repositories to build and publish a WordPress plugin ZIP.
- Type:
string - Description: Logical plugin name (e.g.
lemon-woo). Used as the ZIP filename and directory prefix inside the archive. - Default:
plugin
- Type:
string - Description: Node.js version to use for building.
- Default:
lts/*
- Type:
boolean - Description: When
true, deploys the plugin to the satispress server via rsync after the release. Requiresremote_host,remote_usersecret, and thedeploy_keysecret. - Default:
false
- Type:
string - Description: SSH hostname of the satispress server.
- Type:
number - Description: SSH port of the satispress server.
- Default:
22
Set these in your repository's Settings → Secrets and variables → Actions.
- Description: Private SSH key used for the rsync deployment. Required when
deploy_to_satispressistrue.
- Description: SSH user on the satispress server. Kept as a secret to avoid leaking server configuration. Required when
deploy_to_satispressistrue.
name: Call plugin release
on:
workflow_dispatch:
jobs:
call-release:
uses: Studio-Lemon/workflows/.github/workflows/plugin-release.yml@main
with:
plugin_name: "lemon-woo"
secrets: inheritSet SATISPRESS_SSH_KEY and SATISPRESS_SSH_USER as repository secrets, then use secrets: inherit.
jobs:
call-release:
uses: Studio-Lemon/workflows/.github/workflows/plugin-release.yml@main
with:
plugin_name: "lemon-woo"
deploy_to_satispress: true
remote_host: packagist.studiolemon.nl
secrets: inheritThe deploy step uses the rsync-to-satispress action with type automatically set to plugin. Exclude patterns are read from your .gitattributes export-ignore entries.
jobs:
call-local:
uses: ./.github/workflows/plugin-release.yml
with:
plugin_name: "lemon-woo"- Use
secrets: inheritto forward the caller's secrets to the called workflow (only allowed within the same organization or with proper permissions).