variables:
  WPDESK_CI_VERSION: 1.10.19-library
  MYSQL_ROOT_PASSWORD: mysql
  MYSQL_DATABASE: wptest
  MYSQL_USER: mysql
  MYSQL_PASSWORD: mysql
  MYSQL_INNODB_LOG_BUFFER_SIZE: 32M
  PHP_ERROR_REPORTING: E_ALL
  COMPOSER_ALLOW_SUPERUSER: 1
  GIT_STRATEGY: fetch
  ACCEPTANCE_ERROR_PATH: ${CI_PROJECT_DIR}/acceptance

stages:
  - tools
  - tests

.template: &job-test-template
  stage: tests
  coverage: '/^\s*Lines:\s*\d+.\d+\%/'

.template: &job-test-integration-template
  <<: *job-test-template
  services:
    - mysql:5.6
  script:
    - echo ${WPDESK_CI_VERSION}
    - ls -l
    - php --version
    - cat /tmp/wordpress-develop/src/wp-includes/version.php
    - cat /tmp/woocommerce/woocommerce.php
    - composer update --no-progress
    - if [[ -f tests/integration/prepare.sh ]]; then sh tests/integration/prepare.sh; fi
    - vendor/bin/phpunit --configuration phpunit-integration.xml --coverage-text --colors=never
  only:
    - tags

.template: &job-test-integration-template-fast
  <<: *job-test-integration-template
  script:
    - echo ${WPDESK_CI_VERSION}
    - ls -l
    - php --version
    - cat /tmp/wordpress-develop/src/wp-includes/version.php
    - cat /tmp/woocommerce/woocommerce.php
    - composer update --no-progress
    - if [[ -f tests/integration/prepare.sh ]]; then sh tests/integration/prepare.sh; fi
    - vendor/bin/phpunit --configuration phpunit-integration.xml --no-coverage
  except:
    - tags
  only:

.template: &job-test-unit-template
  <<: *job-test-template
  script:
    - echo ${WPDESK_CI_VERSION}
    - ls -l
    - php --version
    - cat /tmp/wordpress-develop/src/wp-includes/version.php
    - cat /tmp/woocommerce/woocommerce.php
    - composer update --no-progress
    - vendor/bin/phpunit --configuration phpunit-unit.xml --coverage-text --colors=never
  only:
    - tags

.template: &job-test-unit-template-fast
  <<: *job-test-unit-template
  script:
    - echo ${WPDESK_CI_VERSION}
    - ls -l
    - php --version
    - cat /tmp/wordpress-develop/src/wp-includes/version.php
    - cat /tmp/woocommerce/woocommerce.php
    - composer update --no-progress
    - vendor/bin/phpunit --configuration phpunit-unit.xml --no-coverage
  except:
    - tags
  only:

before_script:
  - cd ${CI_PROJECT_DIR}

phpmetric metrics:
  stage: tools
  image: wpdesknet/phpunit-woocommerce:0-0
  allow_failure: true
  when: manual
  artifacts:
    when: always
    expire_in: 1 month
    name: "metrics"
    paths:
      - ${CI_PROJECT_DIR}/phpmetric
  script:
    - echo ${WPDESK_CI_VERSION}
    - composer require phpmetrics/phpmetrics
    - composer update --no-progress
    - php ./vendor/bin/phpmetrics --report-html=phpmetric .

churn metrics:
  stage: tools
  image: wpdesknet/phpunit-woocommerce:0-0
  allow_failure: true
  when: manual
  script:
    - echo ${WPDESK_CI_VERSION}
    - composer require bmitch/churn-php
    - composer update --no-progress
    - vendor/bin/churn run src

unit test lastest:
  <<: *job-test-unit-template-fast
  image: wpdesknet/phpunit-woocommerce:0-0

integration test lastest:
  <<: *job-test-integration-template-fast
  image: wpdesknet/phpunit-woocommerce:0-0

unit test lastest coverage:
  <<: *job-test-unit-template
  image: wpdesknet/phpunit-woocommerce:0-0

integration test lastest coverage:
  <<: *job-test-integration-template
  image: wpdesknet/phpunit-woocommerce:0-0

integration test php7-1 wc-1:
  <<: *job-test-integration-template-fast
  image: wpdesknet/phpunit-woocommerce:1-1

integration test php7 wc-2:
  <<: *job-test-integration-template-fast
  image: wpdesknet/phpunit-woocommerce:2-2

integration test php-7 wc-3:
  <<: *job-test-integration-template-fast
  image: wpdesknet/phpunit-woocommerce:2-3

integration test php5-6:
  <<: *job-test-integration-template-fast
  image: wpdesknet/phpunit-woocommerce:3-0

integration test php5-5:
  <<: *job-test-integration-template-fast
  image: wpdesknet/phpunit-woocommerce:4-0

integration test current woocommerce:
  <<: *job-test-integration-template-fast
  image: wpdesknet/phpunit-woocommerce:0-0
  allow_failure: true
  before_script:
    - cd /tmp
    - rm -rf woocommerce
    - git clone https://github.com/woocommerce/woocommerce.git
    - cd ${CI_PROJECT_DIR}