woocommerce/plugins/woocommerce-blocks/.travis.yml

105 lines
2.7 KiB
YAML

language: php
dist: trusty
sudo: false
cache:
directories:
- vendor
- node_modules
- $HOME/.npm
- $HOME/.composer/cache
branches:
only:
- master
- /release\/.*/
before_install:
- timedatectl
- nvm install --latest-npm
before_script:
- export PATH="$HOME/.composer/vendor/bin:$PATH"
- |
if [ -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini ]; then
phpenv config-rm xdebug.ini
else
echo "xdebug.ini does not exist"
fi
- |
if [[ ! -z "$WP_VERSION" ]] ; then
composer install --no-dev
bash tests/bin/install-wp-tests.sh wgpb_admin root '' localhost $WP_VERSION
composer global require "phpunit/phpunit=4.8.*|5.7.*"
fi
- |
if [[ "$WP_TRAVISCI" == "phpcs" ]] ; then
composer install
fi
jobs:
fast_finish: true
include:
- stage: build tests
name: PHP 7.1/unit-tests/Latest WP
php: 7.1
env:
- WP_VERSION=latest
- WOOCOMMERCE_BLOCKS_PHASE=experimental
script:
- phpunit
- name: PHP 5.6/unit-tests/Latest WP
php: 5.6
env:
- WP_VERSION=latest
- WOOCOMMERCE_BLOCKS_PHASE=experimental
script:
- phpunit
- name: PHP Linting Check
php: 7.3
env:
- WP_TRAVISCI=phpcs
- WOOCOMMERCE_BLOCKS_PHASE=experimental
script:
- npm run lint:php
- name: Javascript Tests
script:
- npm install
- npm run test
env:
- WOOCOMMERCE_BLOCKS_PHASE=experimental
- name: Javascript/CSS Lint check
script:
- npm install
- npm run lint:ci
env:
- WOOCOMMERCE_BLOCKS_PHASE=experimental
- name: E2E Tests
script:
- npm ci
- npm run test:e2e:up
- composer install
- npm run build:e2e-test
- npm run test:e2e
env:
- WOOCOMMERCE_BLOCKS_PHASE=experimental
- stage: deploy
if: (NOT type IN (pull_request)) AND (branch = master)
name: Deploy Storybook
env:
- WOOCOMMERCE_BLOCKS_PHASE=experimental
install:
- npm ci
script:
- npm run storybook:build
deploy:
provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN
keep_history: true
local_dir: storybook/dist
on:
branch: master