diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..ff4478f --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,54 @@ +name: Lint + +on: + # Run on pushes to select branches and on all pull requests. + push: + branches: + - master + - trunk + - 'release/**' + - 'hotfix/[0-9]+.[0-9]+*' + pull_request: + # Allow manually triggering the workflow. + workflow_dispatch: + +# Cancels all previous workflow runs for the same branch that have not yet completed. +concurrency: + # The concurrency group contains the workflow name and the branch name. + group: ${{ github.workflow }}-${{ github.head_ref }} + cancel-in-progress: true + +jobs: + lint: + runs-on: ubuntu-latest + + strategy: + matrix: + # Lint against the highest/lowest supported versions of each PHP major. + # And also do a run against "nightly" (the current dev version of PHP). + php_version: ['5.6', '7.0', '7.4', '8.0', '8.1', '8.2'] + + name: "Lint: PHP ${{ matrix.php_version }}" + + # Allow builds to fail on as-of-yet unreleased PHP versions. + continue-on-error: ${{ matrix.php_version == '8.1' || matrix.php_version == '8.2' }} + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php_version }} + ini-values: zend.assertions=1, error_reporting=-1, display_errors=On + coverage: none + tools: cs2pr + + # Install dependencies and handle caching in one go. + # @link https://github.com/marketplace/actions/install-composer-dependencies + - name: Install Composer dependencies + uses: ramsey/composer-install@v1 + + - name: Lint against parse errors + run: composer lint -- --checkstyle | cs2pr diff --git a/.travis.yml b/.travis.yml index c1471f3..02063bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,11 +12,7 @@ jobs: fast_finish: true include: - php: 7.4 - env: PHPLINT=1 CHECK=1 TRAVIS_NODE_VERSION=node - - php: 5.6 - env: PHPLINT=1 - - php: 8.0 - env: PHPLINT=1 + env: CHECK=1 TRAVIS_NODE_VERSION=node cache: yarn: true @@ -35,7 +31,7 @@ before_install: install: - | - if [[ "$CHECK" == "1" || "$PHPLINT" == "1" ]]; then + if [[ "$CHECK" == "1" ]]; then composer install --no-interaction fi - | @@ -57,13 +53,6 @@ before_script: - locale -a script: - # PHP Linting - - | - if [[ "$PHPLINT" == "1" ]]; then - travis_fold start "PHP.check" && travis_time_start - composer lint - travis_time_finish && travis_fold end "PHP.check" - fi # GRUNT Tasks - | if [[ "$CHECK" == "1" ]]; then