pipeline:
  restore_cache:
    image: meltwater/drone-cache:dev
    settings:
      backend: "filesystem"
      restore: true
      cache_key: '{{ .Repo.Name }}_phpcs_{{ arch }}_{{ os }}'
      archive_format: "gzip"
      mount:
        - '.composer'
    volumes:
      - /tmp/drone-cache:/tmp/cache
  composer_install:
    image: composer
    commands:
      - export COMPOSER_HOME=.composer
      - ./bin/composer.phar run cs:install
  rebuild_cache:
    image: meltwater/drone-cache:dev
    settings:
      backend: "filesystem"
      rebuild: true
      cache_key: '{{ .Repo.Name }}_phpcs_{{ arch }}_{{ os }}'
      archive_format: "gzip"
      mount:
        - '.composer'
    volumes:
      - /tmp/drone-cache:/tmp/cache
  check:
    image: friendicaci/php-cs
    commands:
      - if [ ! -z "$${CI_COMMIT_PULL_REQUEST}" ]; then
          git fetch --no-tags origin ${CI_COMMIT_TARGET_BRANCH};
          export CHANGED_FILES="$(git diff --name-status $(git merge-base FETCH_HEAD origin/${CI_COMMIT_TARGET_BRANCH})..${CI_COMMIT_SHA} | grep ^A | cut -f2)";
        else
          export CHANGED_FILES="$(git diff --name-status ${CI_COMMIT_SHA} | grep ^A | cut -f2)";
        fi
      - /check-php-cs.sh