sandfoxme/phpstorm-metadata-export

View on GitHub
.gitlab-ci.yml

Summary

Maintainability
Test Coverage
stages:
  - test
  - report

cache:
  key: composer-cache
  paths:
    - .composer-cache/

.test:
  before_script:
    - php -v
    # install system packages
    - apt-get update && apt-get install -y git unzip
    # install extensions
    - if [ "$INSTALL_XDEBUG" -eq 1 ]; then pecl install xdebug; docker-php-ext-enable xdebug; fi
    # install composer
    - php -r "copy('https://composer.github.io/installer.sig', '/tmp/composer.sig');"
    - php -r "copy('https://getcomposer.org/installer', '/tmp/composer-setup.php');"
    - php -r '$expected = file_get_contents("/tmp/composer.sig"); $actual = hash_file("sha384", "/tmp/composer-setup.php"); exit(intval(!hash_equals($expected, $actual)));'
    - php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
    - chmod +x /usr/local/bin/composer
    - rm /tmp/composer-setup.php /tmp/composer.sig
    # cache dependencies
    - composer config -g cache-dir "$(pwd)/.composer-cache"
  script:
    - composer update
    - vendor/bin/phpunit

# lowest version with the lowest dependencies
test-7.2-lowest:
  extends: .test
  stage: test
  image: php:7.2
  script:
    - composer update --prefer-lowest
    - vendor/bin/phpunit

# lowest version
test-7.2:
  extends: .test
  stage: test
  image: php:7.2

test-7.3:
  extends: .test
  stage: test
  image: php:7.3

test-7.4:
  extends: .test
  stage: test
  image: php:7.4

test-8.0:
  extends: .test
  stage: test
  image: php:8.0

test-8.1:
  extends: .test
  stage: test
  image: php:8.1

## latest 8
test-8:
  extends: .test
  stage: test
  image: php:8

# coverage
coverage:
  variables:
    INSTALL_XDEBUG: 1
  extends: .test
  stage: report
  only:
    - master
  image: php:8.0
  script:
    - composer update
    - XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-clover coverage.xml
    - bash <(curl -s https://codecov.io/bash)