diff --git a/.distignore b/.distignore index a2c34902..39b51239 100644 --- a/.distignore +++ b/.distignore @@ -1,41 +1,27 @@ # A set of files you probably don't want in your WordPress.org distribution -.babelrc -.deployignore +.circleci .distignore .editorconfig -.eslintignore -.eslintrc .git +.github .gitignore -.gitlab-ci.yml -.travis.yml .DS_Store Thumbs.db -behat.yml -bitbucket-pipelines.yml bin -.circleci/config.yml +behat.yml +CODEOWNERS composer.json composer.lock -dependencies.yml +CONTRIBUTING.md Gruntfile.js package.json package-lock.json -phpunit.xml -phpunit.xml.dist -multisite.xml -multisite.xml.dist -.phpcs.xml -phpcs.xml -.phpcs.xml.dist phpcs.xml.dist +phpunit.xml.dist README.md -webpack.config.js -wp-cli.local.yml -yarn.lock tests vendor node_modules *.sql *.tar.gz -*.zip +*.zip \ No newline at end of file diff --git a/.github/workflows/wordpress-plugin-deploy.yml b/.github/workflows/wordpress-plugin-deploy.yml new file mode 100644 index 00000000..276001fa --- /dev/null +++ b/.github/workflows/wordpress-plugin-deploy.yml @@ -0,0 +1,15 @@ +name: Release wp-native-php-sessions plugin to wp.org +on: + release: + types: [published] + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: WordPress Plugin Deploy + uses: 10up/action-wordpress-plugin-deploy@2.1.1 + env: + SVN_USERNAME: ${{ secrets.SVN_USERNAME }} + SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }} + SLUG: ${{ env.SLUG }} diff --git a/.wordpress-org/banner-1544x500.png b/.wordpress-org/banner-1544x500.png new file mode 100644 index 00000000..903312ec Binary files /dev/null and b/.wordpress-org/banner-1544x500.png differ diff --git a/.wordpress-org/banner-772x250.png b/.wordpress-org/banner-772x250.png new file mode 100644 index 00000000..84209c53 Binary files /dev/null and b/.wordpress-org/banner-772x250.png differ diff --git a/.wordpress-org/icon-128x128.png b/.wordpress-org/icon-128x128.png new file mode 100644 index 00000000..e3eb9b77 Binary files /dev/null and b/.wordpress-org/icon-128x128.png differ diff --git a/.wordpress-org/icon-256x256.png b/.wordpress-org/icon-256x256.png new file mode 100644 index 00000000..44756081 Binary files /dev/null and b/.wordpress-org/icon-256x256.png differ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..bd447a5e --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,37 @@ +# Contributing + +The best way to contribute to the development of this plugin is by participating on the GitHub project: + +https://github.com/pantheon-systems/wp-native-php-sessions + +Pull requests and issues are welcome! + +## Testing + +You may notice there are two sets of tests running, on two different services: + +* The [PHPUnit](https://phpunit.de/) test suite. +* The [Behat](http://behat.org/) test suite runs against a Pantheon site, to ensure the plugin's compatibility with the Pantheon platform. + +Both of these test suites can be run locally, with a varying amount of setup. + +PHPUnit requires the [WordPress PHPUnit test suite](https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/), and access to a database with name `wordpress_test`. If you haven't already configured the test suite locally, you can run `bash bin/install-wp-tests.sh wordpress_test root '' localhost`. + +Behat requires a Pantheon site. Once you've created the site, you'll need [install Terminus](https://github.com/pantheon-systems/terminus#installation), and set the `TERMINUS_TOKEN`, `TERMINUS_SITE`, and `TERMINUS_ENV` environment variables. Then, you can run `./bin/behat-prepare.sh` to prepare the site for the test suite. + +## Workflow + +The `develop` branch is the development branch which means it contains the next version to be released. `main` contains the corresponding stable development version. Always work on the `develop` branch and open up PRs against `develop`. + +## Release Process + +1. Starting from `develop`, cut a release branch named `release_X.Y.Z` containing your changes. +1. Update plugin version in `package.json`, `README.md`, `readme.txt`, and `wp-native-php-sessions.php`. +1. Update the Changelog with the latest changes. +1. Create a PR against the `main` branch. +1. After all tests pass and you have received approval from a CODEOWNER (including resolving any merge conflicts), merge the PR into `main`. +1. Pull `main` locally, create a new tag, and push up. +1. Confirm that the necessary assets are present in the newly created tag, and test on a WP install if desired. +1. Create a [new release](https://github.com/pantheon-systems/wp-native-php-sessions/releases/new) using the tag created in the previous steps, naming the release with the new version number, and targeting the tag created in the previous step. Paste the release changelog from `CHANGELOG.md` into the body of the release and include a link to the closed issues if applicable. +1. Wait for the [_Release wp-native-php-sessions plugin to wp.org_ action](https://github.com/pantheon-systems/wp-native-php-sessions/actions/workflows/wordpress-plugin-deploy.yml) to finish deploying to the WordPress.org repository. If all goes well, users with SVN commit access for that plugin will receive an emailed diff of changes. +1. Check WordPress.org: Ensure that the changes are live on https://wordpress.org/plugins/wp-native-php-sessions/. This may take a few minutes. \ No newline at end of file diff --git a/README.md b/README.md index 97c25d1c..3d65d43e 100644 --- a/README.md +++ b/README.md @@ -32,22 +32,7 @@ That's it! ## Contributing ## -The best way to contribute to the development of this plugin is by participating on the GitHub project: - -https://github.com/pantheon-systems/wp-native-php-sessions - -Pull requests and issues are welcome! - -You may notice there are two sets of tests running, on two different services: - -* Travis CI runs the [PHPUnit](https://phpunit.de/) test suite. -* Circle CI runs the [Behat](http://behat.org/) test suite against a Pantheon site, to ensure the plugin's compatibility with the Pantheon platform. - -Both of these test suites can be run locally, with a varying amount of setup. - -PHPUnit requires the [WordPress PHPUnit test suite](https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/), and access to a database with name `wordpress_test`. If you haven't already configured the test suite locally, you can run `bash bin/install-wp-tests.sh wordpress_test root '' localhost`. - -Behat requires a Pantheon site. Once you've created the site, you'll need [install Terminus](https://github.com/pantheon-systems/terminus#installation), and set the `TERMINUS_TOKEN`, `TERMINUS_SITE`, and `TERMINUS_ENV` environment variables. Then, you can run `./bin/behat-prepare.sh` to prepare the site for the test suite. +See [CONTRIBUTING.md](https://github.com/pantheon-systems/wp-native-php-sessions/blob/main/CONTRIBUTING.md) for information on contributing. ## Frequently Asked Questions ## diff --git a/readme.txt b/readme.txt index 19976516..1508855a 100644 --- a/readme.txt +++ b/readme.txt @@ -31,22 +31,7 @@ That's it! == Contributing == -The best way to contribute to the development of this plugin is by participating on the GitHub project: - -https://github.com/pantheon-systems/wp-native-php-sessions - -Pull requests and issues are welcome! - -You may notice there are two sets of tests running, on two different services: - -* Travis CI runs the [PHPUnit](https://phpunit.de/) test suite. -* Circle CI runs the [Behat](http://behat.org/) test suite against a Pantheon site, to ensure the plugin's compatibility with the Pantheon platform. - -Both of these test suites can be run locally, with a varying amount of setup. - -PHPUnit requires the [WordPress PHPUnit test suite](https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/), and access to a database with name `wordpress_test`. If you haven't already configured the test suite locally, you can run `bash bin/install-wp-tests.sh wordpress_test root '' localhost`. - -Behat requires a Pantheon site. Once you've created the site, you'll need [install Terminus](https://github.com/pantheon-systems/terminus#installation), and set the `TERMINUS_TOKEN`, `TERMINUS_SITE`, and `TERMINUS_ENV` environment variables. Then, you can run `./bin/behat-prepare.sh` to prepare the site for the test suite. +See [CONTRIBUTING.md](https://github.com/pantheon-systems/wp-native-php-sessions/blob/main/CONTRIBUTING.md) for information on contributing. == Frequently Asked Questions ==