Skip to main content

Publish

npx pressship publish ./my-plugin

publish is the modernized happy path for WordPress.org plugins. It discovers the plugin and chooses the best publishing flow:

  • use release when running inside a WordPress.org SVN checkout from pressship get;
  • use submit when a matching WordPress.org review submission is pending or reuploadable;
  • use release when the plugin has an approved WordPress.org SVN repository and no pending review submission is found;
  • ask whether to submit or release when Pressship cannot confidently choose.

Options

npx pressship publish ./my-plugin --dry-run
npx pressship publish ./my-plugin --submit
npx pressship publish ./my-plugin --release --username WpOrgUser
npx pressship publish ./my-plugin --no-verify
npx pressship publish ./my-plugin --skip-plugin-check
npx pressship publish ./my-plugin --skip-readme-validator
npx pressship publish ./my-plugin --wp-path /path/to/wordpress
npx pressship publish ./my-plugin --ignore "assets/**/*.mp4"
npx pressship publish ./my-plugin --yes
npx pressship publish ./my-plugin --release --no-install-svn

Use --submit for review upload and --release for approved-plugin SVN release when you want to force the route.

Before uploading or committing an SVN release, publish verifies the plugin with readme validation and Plugin Check. Use --no-verify only when you intentionally want to bypass both checks.

From an SVN checkout root, Pressship treats trunk/ as the plugin directory:

npx pressship get my-plugin ./my-plugin
cd ./my-plugin
npx pressship version patch
npx pressship publish

For SVN releases, Pressship can infer the username from the saved WordPress.org login. On the first real release commit, it will ask for a generated WordPress.org SVN password and save it locally for later releases.

When the selected release version already exists in SVN as tags/<version>, Pressship stops with a “No version change detected” message. Bump the plugin version before publishing again.

If svn is missing during a release, Pressship can detect your operating system and ask before installing Subversion. Use --no-install-svn to skip that helper.