105 lines
2.7 KiB
YAML
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
|