skip_clone: true

pipeline:
  clone_friendica_base:
    image: alpine/git
    commands:
      - git clone https://github.com/friendica/friendica.git .
      - git checkout $CI_COMMIT_BRANCH
    when:
      event: pull_request
  clone_friendica_addon:
    image: alpine/git
    commands:
      - git config --global user.email "no-reply@friendi.ca"
      - git config --global user.name "Friendica"
      - git clone $CI_REPO_LINK addon
      - cd addon/
      - git checkout $CI_COMMIT_BRANCH
      - git fetch origin $CI_COMMIT_REF
      - git merge $CI_COMMIT_SHA
    when:
      event: pull_request
  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
    when:
      event: pull_request
  composer_install:
    image: composer
    commands:
      - export COMPOSER_HOME=.composer
      - ./bin/composer.phar run cs:install
    when:
      event: pull_request
  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
    when:
      event: pull_request
  check:
    image: friendicaci/php-cs
    commands:
      - cd addon/
      - 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 | sed -e "s/^/addon\\//")";
        else
          export CHANGED_FILES="$(git diff --name-status ${CI_COMMIT_SHA} | grep ^A | cut -f2 | sed -e "s/^/addon\\//")";
        fi
      - cd ../
      - /check-php-cs.sh
    when:
      event: pull_request
