Skip to content

Testing

Willington Vega edited this page Jan 22, 2021 · 5 revisions

Test deploys to WooCommerce.com plugins

Fork a WooCommerce.com plugin

Create a fork of the repository for a plugin that is distributed on WooCommerce.com.

Then use a development version of Sakè or update the package.json file to use a specific branch. In the example below, replace the text after # with the name of the branch.

  devDepedencies: {
    "sake": "github:skyverge/sake#ch32131/skip-deploy-to-production-repo-tasks"
  }

npx sake deploy will now create commits and releases on your fork of the plugin repository.

Test deploys to WordPress.org plugin repository

Create a local SVN repository

If you don't have the svnadmin command available, install Subversion using homebrew:

brew install subversion

Now, create an empty SVN repository:

svnadmin create /path/to/repo

Sake can create the trunk and assets directory, but it expects the tags directory to exist in the repository. Let's make sure those directories exist:

svn co file:///path/to/repo /tmp/test-svn-repo

cd /tmp/test-svn-repo

mkdir -p assets tags trunk

svn add assets tags trunk
svn commit -m "Add assets tags trunk directories"

rm -rf /tmp/test-svn-repo

Fork a plugin that is distributed in the WordPress.org plugin repository

Create a fork of the repository for a plugin that is distributed in the WordPress.org plugin repository. For example WooCommerce Customizer.

Clone your copy of the repo and update Sakè configuration to use a the local SVN repository as the production target for deploy:

module.exports = {
	// ...
	deploy: {
		type: 'wp',
		production: 'file:///path/to/repo'
	},
	// ...
}

Make sure that the deploy property is set to an object with type property set to wp and the production property set to the path to the local SVN repository.

Then use a development version of Sakè or update the package.json file to use a specific branch. In the example below, replace the text after # with the name of the branch.

  devDepedencies: {
    "sake": "github:skyverge/sake#ch32131/skip-deploy-to-production-repo-tasks"
  }

Deploy

npx sake deploy will now create commits and releases on your fork of the plugin repository and commit modifications to the local SVN repository.