- NodeJS Version
- Git Pre-Commit Hook
- Launch Logged-In Window
- User account requirements
- List of wrapper repos & friends
- What to name your branch
The node version should be defined in the .nvmrc
file for use with the nvm project.
The file /scripts/git-pre-commit-circleci-validate
will run circleci validate
against the CircleCI config file prior to every commit. This prevents the constant back-and-forth when making updates only to find that they fail immediately on CI. Instructions in the file direct how to install the hook in your local Git environment (it won't run without this).
To facilitate manual testing, the launch-wpcom-login.js file in /scripts
will launch a Chrome browser window to WordPress.com and log in with the account definition given on the command line. The only config requirement for this is that the local-${NODE_ENV}.json
file needs to have the testAccounts
object defined. If no account is given on the command line, defaultUser
will be used.
Example:
./node_modules/.bin/babel-node scripts/launch-wpcom-login.js multiSiteUser
- Selected main site (in Account Settings)
- Working Twitter Publicize integration
- Free plan
- Theme which is displaying tags and categories (e.g. Twenty Fifteen)
- Installed "Hello Dolly" plugin
Wrapper repo is basically the same Main repo but with parameterized ./run.sh
command which provide variety of ways to run the tests. We set things up this way to make it easy to differentiate build types on Circle CI, for example: history of WooCommerce e2e test runs.
- Main repo - Main repo as it is :)
- Canary tests -
@canary
tagged tests which runs on every Calypsomaster
merge - IE11 tests - IE11 tests running in Sauce Labs. Triggered by
cron
job - Jetpack stable - Jetpack centric tests (specs tagged with
@jetpack
tag) which uses stable Jetpack releases and hosted on Pressable - Jetpack bleeding edge - Jetpack centric tests (specs tagged with
@jetpack
tag) which uses 'bleeding edge' Jetpack releases and hosted on Pressable - Branches full suite tests - Repo which is used to run e2e full suite tests against Calypso PR's. Triggered by GitHub labels
- Branches canary tests - Repo which is used to run e2e canary tests against Calypso PR's. Triggered by GitHub labels
- Woo tests - Runs WooCommerce specs
- I18N tests - Runs I18N test suite. Triggered by
cron
job - Jetpack Release Smoke test - Manually triggered smoke test which is running against multiple set of WPORG hosts
**Note- If adding to this list, also add to /scripts/circleci-branch-update.sh to ensure they stay up to date on node version
Friends:
- E2E tests Github bridge - middleware used to trigger Branches repo by github labels
- WP-Desktop Github bridge - middleware used to trigger e2e tests to run against wp-desktop by github labels
- Use the same naming conventions as listed in wp-calypso
- If you have changes to jetpack tests, be sure to add "jetpack" into your branch name so those tests are run on CI