* Tidy up bootstap so it uses autoloaders and works with the known plugin paths
* eslint ignore woocommerce bin
* Use WC from bin in wp-env
* Git ignore woocommerce in bin
* Remove reliance on core framework across phpunit tests
* Simplify bootstrap - since test framework is no longer required, there is no need to pull in woo from github
* Remove unused configs
* Update CI
* Implement PHPunit Polyfill
* Abstract the test case
* Update lock
* remove chown
* experiment: try sudo
* move phpversion to first run
* Remove 7.0 tests :(
* test plugin override for 5.5 test
* Use dev version
* Fix formatting
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
* update README files with version requirements
* update phpcs config
* update default environment for tests locally
* update workflows to only test against versions matching new policy
* update plugin header for new version policy
* restore older WP version support in E2E tests and PHPCS
I realized that we might still want to test against L2 WP versions in our E2E tests until those tests can be moved to WC core. While the feature plugin is L0, we still need to support L2 for existing features that are already surfaced in the WooCommerce plugin package.
Also with PHPCS if there are fixes to older things in the codebase, we will need to preserve the usage of L2 friendly (back-compat) code.
* add detection of Woo Core version to bootstrap
* update version used in phpunit tests
* add links to version policy update post
* restore 5.5.1 for Woo Core version
Getting errors with 5.5.2 - not sure what's going on but might be the tag isn't available as expected for 5.5.2 maybe?
* switch to hardcoded version header reference
PHPUNIT was tripping on this for some reason.
* remove older WP version e2e test workflows
* fix phpunit tests for new woo test suite
Woo Core now uses a container and has some mocks that are used in some legacy test helpers.
* remove explicit set WOO_VERSION for phpunit tests.
This should default to latest for the GH workflow runs.
* Update release PR template.
Add some explicit instructions around updating required WP and WC versions at time of release.
* use latest WOO_VERSION in .env
* some improvements to reduce the things needing updated
* remove extraneous code
* Add some more checklist items to release PR templates
* remove unnecessary conditional
* remove is-dismissible css classes
* Improve clarity of error messaging
* Update README.md
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* remove checklist items about versions for patch releases
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* Tidy and document current configs
* Add terser package
* sharedConfig with Terser plugin setup
* replace todo
* revert change to alias
* Package lock update
* ci to install
* Revert "ci to install"
This reverts commit a65b7f3ca8ef8ab1cb78f825a43ca8df07f784bb.
* revert shared config
* fix extra comma
* tweak setup
* Missing jsx
* allow for WOO_VERSION config in tests setup
* pass through WOO_VERSION environment var to container
* force specific WOO_VERSION value for phpunit test run
* try passing through environment variable via docker arg
Also set .env for controlling local runs of phpunit
Trying a different way of adding a commit to allow for pr creation on release pull requests. This way reduces both the number of commits and requires no actual file changes.
* update wp-env package
* bump versions in e2e workflows
* Fix job names
* explicitly set core WP version
without this, the `mappings` configuration option causes breakage due to what appears to be a bug in the package.
* Change how GB install job is setup
`wp-env` currently has an issue where if you define the explicit WP version to install (vs just what is included by default), permissions aren’t configured correctly for the WP folder in the containers. So the ability to install plugins via cli is not possible. This only surfaces in linux environments.
I tried a number of ways to work around this but in the end the only foolproof way is to configure the environment to be setup with the installed plugin.
* add circular dependency check and fix it
* only throw error
* udpate error message
* only throw on production
* better defaults
* add variable to travis
* double echo
* echo with -e
* Create end-to-end-tests.yml for E2E testing action
* Change actions to run on push instead of PR
* Install libstdc++-4.9-dev on E2E tests action
* Add correct apt repository for libstc++
* Reconfigure apt-get commands for installing libstdc++
* Remove accidental inclusion of Travis config from E2E tests action
* Install libkrb5-dev as part of e2e test action
* Run apt commands as sudo
* Install gutenberg plugin and e2e testutils
* Add environment variables to E2E tests
* Rename action and add further config for composer and wp-env
* Rename workflow
* Add jobs for WP 5.6, 5.5, and 5.4
* Fix YML indentation
* Apply 767 permissions to wp-env directory
* Run chmod as sudo
* Comment 5.6 and 5.6 with GB out to test 5.4 more easily
* Remove WP install job, since it should run on each step
* Change order of wp-env start and chmod
* Reorder commands for 5.4 job
* Try running 5.4 tests in isolation
* Reenable tests for all WP versions
* Move commands out of bash script into a series of commands
* Fix indentation on 5.5 job
* Re-enable libkrb5-dev install
* Clean wp-env before each run & upgrade wp-env to 3.0.0
* Update lock file for wp-env@3.0.0
* Reorder wp-env start and clean commands
* Reorder wp-env permissions commands
* Reorder wp-env permissions setup for all jobs
* Reorder wp-env permissions setup for 5.5 and 5.4
* Ensure correct order for env setup and flush permalinks twice
* Update jest snapshots
* Remove rewrite flush command from yml
* Remove npm build from every step and try it just at the start
* Set correct e2e build script
* Add jobs for PHP 8
* Specify PHP 8 minor version
* Run PHP 8 jobs first
* Remove PHP 8 jobs
* Add JS Unit tests job
* Remove js-unit-tests.js workflow
* Remove composer install from every step, add it to its own step
* Cache composer files
* Bust npm cache to test nodegit
* Rename npm cache
* Renove npm cache entirely
* Revert "Renove npm cache entirely"
This reverts commit d6fac6a6ebd9162e48f64daaa8c971320756579e.
* Rename npm cache back to how it was
* Fix yml indentation
* Remove echo from composer cache step
* Revert back to composer example
* Add PHP Unit tests to workflow
* Add PHP Unit tests to workflow
* Rename E2E tests workflow and file
* deliberately break e2e and unit tests to test workflow 👺
* fix php test, should see e2e fail
* revert broken e2e test
* Change steps into jobs, rename workflow
* Remove Travis workflow file
* Add all necessary setup steps to each job
* Rename Setup job and remove dependency
* Add individual jobs for each E2E test environment
* Add npm install and build to setup job
* YML syntax fix
* Remove error-causing chmod
* Rename blocks.ini setup step
Fixes a typographical error.
* Get the latest stable version of WooCommerce for PHPUnit testing
* Add PHP8.0 and PHP5.6 Unit tests
* Run composer update for PHP 5.6 and PHP 8.0
* Revert "Run composer update for PHP 5.6 and PHP 8.0"
This reverts commit 4f90522d0b52b7a8b9e896e9c783795be9dc5399.
* Revert "Add PHP8.0 and PHP5.6 Unit tests"
This reverts commit 66e317dec4af6e3a2ac6f78b6efd050e7fc5aa8e.
Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
* Tweak message for stale activity and bump close boundary
Temporarily, bump the close boundary to 20 days to cover the holiday period.
* revert bump to 90 days
Currently our repository doesn't support node 14.x and this branch of node recently became LTS so GitHub actions now default to that version. This is an attempt to force a specific version of node for the action.
* add doc for feature flag and experimental interfaces
* add new doc to TOC
* update pull request template to include checklist item for experimental/feature flag items
* tweak wording for experimental prefix
* fix bad formatting of bold for lines
* fix double slash in url
* add missing sentence case
* remove account signup as that is not included in Cart and Checkout block logic.
* Fix typo
* Add workflow for linting js and css
* try alternative action to see if we get annotations
* add deliberate linting errors to validate new workflow behaviour
* try to fix annotations?
* maybe invalid check-name?
* try a different eslint action
* fix eslint fails
* remove js/css linting from travis
* remove unnecessary build execution
* Create ZIP before writing testing steps
* Add a note to restore the release branch
* Add a link to the milestones page
* Revert "Add a note to restore the release branch"
This reverts commit 362bf8779be2023c8015bb71a1328eca9bab4997.
* generating changeset for pull request
* generating changeset for pull request
* add changelog to readme.txt
* typo fixes to release checklists
* change tested up to for WooCommerce core
* add testing notes for release
* bump version referenced for WP
* Bumping version strings to new version.
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
* convert eslint config to use @woocommerce/eslint-plugin
- removes unnecessary dependencies
- adds e2e-tests/specs to eslint ignore (they are automatically generated)
- turns off rules that will be handled in subsequent pulls (to avoid a mammoth changeset for review).
- NOTE: prettier config needs left in because of a bug with the existing version of `@wordpress/eslint-plugin` pulled in (fixed in https://github.com/WordPress/gutenberg/pull/25068) so I left the file for now.
* prettier fixes.
* remove obsolete plugin and fixes for eslint update
This branch brings an update to eslint which also changes some syntax with plugins. So this commit:
- fixes featuer-flag plugin syntax.
- removed obsolete dependency-group plugin (which is now in the `@woocommerce/eslint-plugin` configuration.
* add to-do comment
* fixes for test runs
- this also converts our e2e test scripts to use `wp-script test:e2e`, an advantage of this is it will load CHROMIUM on demand for the e2e test run.
* fixes for test runs
- this also converts our e2e test scripts to use `wp-script test:e2e`, an advantage of this is it will load CHROMIUM on demand for the e2e test run.
* include prettier alias as a dependency
This has to be done because prettier is installed with storybook and thus the alias setup in `@wordpress/scripts` is over-ridden by the storybook import.
* another attempt at e2e-test-fix
* add some debugging and temporarily just add one e2e config test for travis
* more debugging
* try installing full puppeteer and see if fixes
* fix package-lock?
* setupSettings separately from other fixture loading
* add debugging of files
* add another console.log (hopefully trigger travis)
* split out blockPage creation to it’s own as well
* fixed! remove debugging and re-enable travis configs for entire test suite
* fix config and rename e2e-tests to e2e
- fixes the failing product-search test
- tests/e2e-tests was redundant, I changed to `tests/e2e` (this follows a file pattern change made in woocommerce core as well).
* add todo for some eslint properties
* remove unnecessary early function execution
* revert earlier commit and remove duplicate call to createBlockPages
* issue template for cart & checkout feedback
* fix example desktop OS (not iOS!)
* delete `withFeedbackPrompt` - not used
* link cart/checkout editor feedback to GitHub issue:
- add new CartCheckoutFeedbackPrompt with specialised text & url
- use in cart/checkout blocks
- tweaked wording of feedback prompt text
* use speech bubble icon to represent feedbackiness
* simplify cart/checkout feedback prompts
* add default labels to all issue templates
* use markdown heading syntax for headings (was basic bold previously)
* tweak wording (remove hint of frustration) and use new "feedback" label
* add changelog to readme.txt
* Add testing docs for release
* add some new commands to help with release testing phase
* Add testing notes for 3.0.0
* fix testing note typo
* updae notest to reference the new package-plugin:deploy script for use as part of the release process
* Add note about creating manual tag for the release.
* automate creation of dev tag for release.
* remove release branch from travis branches because we now do pull requests for releases
* remove duplicate back order badge for cart (https://github.com/woocommerce/woocommerce-blocks/pull/2890)
* update zip link in testing notes
* only update stable version in readme.txt if not a pre-release
* Add handling for conditional github release creation based on WP deploy question
* add distignore fir wp deploy builds
* Cart & Checkout: fix '0' visible when product stock was 0 and it allowed backorders (https://github.com/woocommerce/woocommerce-blocks/pull/2891)
* Create wordpress-deploy.yml
* fix cod not accounting for global rate values (https://github.com/woocommerce/woocommerce-blocks/pull/2894)
* ensure we’re only running checks for `wc_reserved_stock` table when necessary (https://github.com/woocommerce/woocommerce-blocks/pull/2895)
* update readme.txt changelog
* remove unnecesary variable definitions
* update github deploy script
* Bumping version strings to new version.
* add missing step for checking out code from tag
* fix exclusion for docker-compose.yml
* fix zip name (it differs from repository name)
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* Add expected folder for testing instructions to the release PR template
* update release doc
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
* Add a pull request template for releases
* add testing instructions for 2.6.0 in a new testing/releases folder
* add create todo list button and fixt typo
* Add additional notes to release process
- Include about creating a release pull request and the template to use.
- Include about the process for creating the package update bump in WooCommerce core.
* add testing docs for 2.6.1 release
* Apply suggestions from code review
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* improve wording to account for merging changes to master from the release branch
* Changes to pull request template
- make checklist more assertive instead of inquisitive.
- Provide more direction via notes and leading text in the template.
- include section on devnotes.
* remove section on updating the wiki
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* Add bundle size github workflow
This workflow implements a bundle-size monitoring utility for our repository to give better metrics on increases in bundle-sizes. I basically copied the configuration for the WordPress gutenberg project workflow and it utilizes the [`preactjs/compressed-size-action`](https://github.com/preactjs/compressed-size-action).
If this works well, it will replace our existing bundlesize implementation.
* remove bundlewatch and related scripts
* more lint job fixes
- remove build:ci because it was only used for bundlesize check. No need to build files for linting checks.
- add lint:ci npm script for doing build lint checks
- update travis job config to use new script and update title
* change name of workflow
* Move coding guideline and release docs to subdirectories
* Strip down contributing md to link to new docs
* Create main readme file to act as TOC
* Getting started and testing docs from contributing.md
* WP update testing checklist and docs for woocommerce/woocommerce-blocks#1285
* Update docs/contributors/smoke-testing.md
Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>
* link to svn doc
* Link to docs from readme
* Resolve feedback
* More consistent $ usage
Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>