Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.71 KiB
Newer Older
Erick Hitter's avatar
Erick Hitter committed
variables:
  # Configure mysql service (https://hub.docker.com/_/mysql/)
  MYSQL_DATABASE: wordpress_tests
  MYSQL_ROOT_PASSWORD: mysql
  WP_VERSION: latest
Erick Hitter's avatar
Erick Hitter committed

cache:
  paths:
    - $HOME/.composer
    - /root/.composer

before_script:
  # Set up WordPress tests
  - bash bin/install-wp-tests.sh $MYSQL_DATABASE root $MYSQL_ROOT_PASSWORD mysql $WP_VERSION true
Erick Hitter's avatar
Erick Hitter committed

  # PHPUnit
  - |
    if [[ $(php -v) =~ "PHP 7." ]]; then
      composer global require "phpunit/phpunit=6.1.*"
    else
      composer global require "phpunit/phpunit=4.8.*"
    fi

Erick Hitter's avatar
Erick Hitter committed
PHP5.3:
  stage: test
  variables:
    WP_VERSION: '5.1'
Erick Hitter's avatar
Erick Hitter committed
  image: containers.ethitter.com:443/docker/images/php:5.3
  services:
    - mysql:5.6
  script:
    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
    - phpunit
Erick Hitter's avatar
Erick Hitter committed

PHP5.3:WP45:
  stage: test
  image: containers.ethitter.com:443/docker/images/php:5.3
  services:
    - mysql:5.6
  variables:
    WP_VERSION: '4.5'
  script:
    - phpunit
Erick Hitter's avatar
Erick Hitter committed

PHP5.6:
  stage: test
  image: containers.ethitter.com:443/docker/images/php:5.6
  services:
    - mysql:5.6
  script:
    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
    - phpunit

PHP7.0:
  stage: test
  image: containers.ethitter.com:443/docker/images/php:7.0
  services:
    - mysql:5.6
  script:
    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
    - phpunit

PHP7.1:
  stage: test
  image: containers.ethitter.com:443/docker/images/php:7.1
  services:
    - mysql:5.6
  script:
    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
    - phpunit

PHP7.2:
  stage: test
  image: containers.ethitter.com:443/docker/images/php:7.2
  services:
    - mysql:5.6
  script:
    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
    - phpunit

PHP7.3:
Erick Hitter's avatar
Erick Hitter committed
  stage: test
  image: containers.ethitter.com:443/docker/images/php:7.3
  services:
    - mysql:5.6
  script:
    - find . -type "f" -iname "*.php" | xargs -L "1" php -l
    - phpunit

Erick Hitter's avatar
Erick Hitter committed
PHPCS:
  stage: test
  image: containers.ethitter.com:443/docker/images/php:7.3
  before_script:
    - composer global require automattic/vipwpcs
    - composer global require phpcompatibility/phpcompatibility-wp
    - phpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs,$HOME/.composer/vendor/automattic/vipwpcs,$HOME/.composer/vendor/phpcompatibility/php-compatibility,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-paragonie,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-wp
  script:
    - phpcs -n

Erick Hitter's avatar
Erick Hitter committed
PluginSVN:
  stage: deploy
  image: containers.ethitter.com:443/docker/wp-org-plugin-deploy:latest
Erick Hitter's avatar
Erick Hitter committed
  before_script:
    - curl -o ./bin/deploy.sh https://git-cdn.e15r.co/open-source/wp-org-plugin-deploy/raw/master/scripts/deploy.sh
    - chmod +x ./bin/deploy.sh
  script: ./bin/deploy.sh
  when: on_success