---
stages:
- tests
- release_publish
- wordpress.org
- github.com

Unit Test:
  dependencies: []
  image: registry.krone.at/krn/backend:beta
  tags:
    - docker
  services:
    - mysql:5.7
  stage: tests
  variables:
    # Configure mysql environment variables (https://hub.docker.com/r/_/mysql/)
    MYSQL_ROOT_PASSWORD: somepw
  script:
    - composer update
    - echo "zend_extension=xdebug.so" > /usr/local/etc/php/conf.d/xdebug.ini
    - bin/install-wp-tests.sh wordpress_test root 'somepw' 127.0.0.1 latest
    - composer update
    - vendor/bin/phpunit --colors=always --coverage-text=1.txt
    - grep "Lines:" 1.txt
  except:
      - /^v.*/ # do not unit test release tags
      - after_build
      - after_build_beta


tests:phpcs:
  image: registry.krone.at/krn/docker_base:beta
  stage: tests
  script:
    # Check for var_dump/dump
    - export PATH=~/.composer/vendor/bin:$PATH
    - composer install
    - composer cs-check
  tags:
    - docker
  except:
    - /^v([0-9]+).*/

tests:phpstan:
  image: registry.krone.at/krn/docker_base:beta
  stage: tests
  script:
    # Check for var_dump/dump
    - export PATH=~/.composer/vendor/bin:$PATH
    - phpstan analyse src/ || true
  tags:
    - docker
  except:
    - /^v([0-9]+).*/

tests:phpcompatibility:
  image: registry.krone.at/krn/docker_base:beta
  stage: tests
  script:
    # Check for var_dump/dump
    - export PATH=~/.composer/vendor/bin:$PATH
    - phpcs -p src --standard=PHPCompatibility --extensions=php
    - phpcs -p tests --standard=PHPCompatibility --extensions=php
  tags:
    - docker
  except:
    - /^v([0-9]+).*/



release:publish:
  image: registry.krone.at/krn/fastlane_runner:latest
  dependencies: []
  stage: release_publish
  script:
  - fastlane publish_release
  artifacts:
    paths:
      - latest_release.txt
  tags:
  - docker
  only:
  - release
  - fastlane
  - beta
  - master

svn update:
  image: registry.krone.at/krn/backend:beta
  dependencies: ["release:publish"]
  stage: wordpress.org
  script:
  - bin/deploy-to-wp.sh $(cat latest_release.txt) kmm-flattable
  tags:
  - docker
  only:
  - master



before_script:
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_DEPLOY_KEY")



