* Switch to use wp-env
* fix travis config
* fix spacing?
* doh need to install packages before starting environment!
* more fixes for errors in travis environment
* hmm still have node-git issues
* nope must use dash
* maybe it’s a caching issue (we’re caching node_modules?)
* remove configs
* add wp-env override json to gitignore
* remove obsolete scripts
* fix config in travis
* restore default env (for phpunit)
* for e2e manually set WORDPRESS_BASE_URL
* doh fix variable for wp version
* run phpunit via docker and fix WordPress version used for tests
* find out what’s going on with this thing
* don’t escape?
* doh phpunit needs dev installed from composer!
* fix versions
* looks liek we have to make sure wp db is up to date?!?
- also moves pre-configuration stuff all into one file for easier maintenance.
* see if I can get insight into what the siteurl is in the wp environment on travis
* try env setup (known that will break phpunit but possible it might fix e2e?)
* output plugin list to see what is active in travis
* try flushing rules
* do a hard fulsh
* fix argument syntax
* move things around and add pre-configuration as files so all wp commands run at once
* revert back to running each container command separately
Not sure, but this might affect permissions issues?
* maybe re-ordering before the file sync will help?
also try some configuration changes
* another attempt at travis config
In this attempt:
- map .htaccess to the server on the environment start
- try changing permissions of wp-content and wp-content/plugins as a part of the e2e test bootup
* use default wp version for gute build
* refactor to run all wp commands in one go
* don’t return promise from setup function
- this might fix the sporadic fails related to the fixtures being setup (and potential race conditions there).
* make sure we activate gutenberg plugin (previously we were just installing)
The syntax of the command was incorrect.
* try alternative syntax for installing and activating plugin
* Expand travis matrix to cover diffrent WP versions
* skip tests on older wp versions
* duplicate tests
* add wp version to phpunit tests
* skip all products in 5.2
* fix tests
* tweak command to account for e2e-util version
* tag snapshots
* Revert "tag snapshots"
This reverts commit b55ba2e522c5a248590039a3bb224f81da2653c5.
* use hook instead of HOC
* add todo to code
* fix borked conflict
* remove dubplicate single product test
* revert assets/js/blocks/product-search/edit.js to master
* Revert "Move blocks to stable flag (https://github.com/woocommerce/woocommerce-blocks/pull/2261)"
This reverts commit a005649ab8.
* migrate to number based gating
* add todo to watch feature flag
* remove flags from build
* change flag in travis
* load flag in right order
* expose flag to js
* simplify flag definition
* more feature flags
* wrap flag in check
* add helper functions
* add helpers in PHP
* fix typo in flag
* move php code to src/domain/package
* tweak if condition
* return flag to travis
* fix broken block name
Since the defined language is php, travis will attempt to run phpunit by default as the script. So we need an empty script config for the deploy stage.
* 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
* add docker files
* get tests to work
* remove irrelevant files
* add woocommerce as a dep
* remove eslintignore for tests
* undo travis chages till another PR
* remove local utils and call them directly from woocommerce
* remove travis db
* Block snapshot
* Test than the block can be inserted and interacted with
* Add snapshop
* Update snapshot
* rebase on master
* add a build script for just doing npm build on e2e tests
* just run build for e2e test job
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
* add docker files
* get tests to work
* remove irrelevant files
* change userAgent to chrome
* add woocommerce as a dep
* add jest to eslint
* remove eslintignore for tests
* undo travis chages till another PR
* remove local utils and call them directly from woocommerce
* update deps
* add setup files to run tests
* export default wp link
* wait for select before selecting
* remove travis db
* ignore e2e tests in unit testing
* add tests
* add docker commands
* always run composer
* Make it possible to import directly from '@woocommerce/e2e-tests/utils'
* remove installing woocommerce via composer.
* add more docker npm scripts
* add custom docker config for wp-cli
* add changes to docker-composer.yml
Includes reading environment variables from `.env`
* revert customizations to .travis.yml
* move main docker file for the wordpress container to bin
* fix travis config
* rename wp install for travis builds back to original name
* use a version of docker-compose that travis supports
* add minor change to try and force travis test run
* fix incorrect command
* copy composer lock from master
* only run phpcs on /src directory
* give time for host to spin up for e2e tests
* increase sleep for waiting on container
* make sure plugin is built before running tests
* sigh fix improper command usage
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
* introduce feature flags
* move config to webpack-helper
* add flag to deploy command
* remove package default
* add cross-env
* add gating to frontendConfig and coreConfig
* exclude entries from being built on stable mode
* add feature gating to PHP
* add flag to start command
* add flags to travis
* add endpoints
* add better defaults for php
* move code to Bootstrap.php
* no need to spread single object
* ignore blocks.ini
* type check feature flag
* remove blocks.ini
* sanitize flag
* remove flag from npm start
* format condition
* keep spaces for package-lock.json
* check for env before going to block ini
* add env vars to travis
* whitelist env var
- adds bundlesize package and travis config to run it on pulls (reports size as a check on pulls)
- reconfigure travis configuration so that jobs are split by task for easier review/reporting
- Fix failing phpunit tests exposed as a result of the travis reconfiguration
- Fix legit fail exposed by failing phpunit test in products REST endpoint (permissions related)
- Don't abort plugin initialization when detecting no build asset file but still throw notice (necessary to ensure php tests run in travis because we don't build js/css assets unnecessarily for those tests)
* Create Package class and use in main plugin file
* Move and refactor library class - split asset methods into new Assets class.
* Add jetpack autoloader dependency
* fix tests
* Update from master
* Update testing framework
* Update package name
* Classname changes from master
* Indent
* Add a `prepack` script to run before publish
This will re-install dependencies, run linting on PHP, CSS, and JS, run the JS tests, and lastly build the production bundle.
* phpcs is now part of `npm run lint` so we don’t need to run it twice
* Version bump to RC1
* Add travis to run JS & CSS linting, JS tests, and PHPUnit tests
* Move API initiation out of the gutenberg/files check
So that php tests run without having to build the JS files
* Add very basic product endpoint tests
* Fix stylelint issues in CSS
* Remove e2e setup, replace with dependency setup
* Add missing install step
* Remove cache for now
* Add specific `har-validator` dependency because v 5.1.2 has disappeared
* Only run npm install for the JS test job
* Check for installed plugins
* Update install location
* Fix typo in plugin name
* Check the BRANCH variable, rather than TRAVIS_PULL_REQUEST_BRANCH, which is only set on PR runs
* Remove debug command
* A change to trigger CI
* Set the expected node & npm versions
* Remove copy-pasted command, does not apply