Skip to content
This repository has been archived by the owner on Apr 26, 2022. It is now read-only.

Commit

Permalink
Merge pull request #553 from Nosto/release/4.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
supercid authored May 26, 2020
2 parents 02c10a1 + eaa9213 commit 13b88ba
Show file tree
Hide file tree
Showing 93 changed files with 1,922 additions and 1,854 deletions.
199 changes: 199 additions & 0 deletions .github/workflows/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
name: PHP CI

on: [push]

jobs:

phpcs:
name: Code Sniffer
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1

############################################################################
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.2'
tools: composer, prestissimo
extensions: ast
coverage: none

#https://github.com/actions/cache/blob/master/examples.md#php---composer
- name: Cache composer packages
id: composer-cache
run: |
composer config cache-files-dir
echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v1
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Update project dependencies
run: |
composer install --prefer-dist --no-progress --no-suggest
composer dump-autoload --optimize
./vendor/bin/pearify process .
############################################################################

- name: Run the sniffer
run: |
./vendor/bin/phpcs --config-set ignore_errors_on_exit 1
./vendor/bin/phpcs --config-set ignore_warnings_on_exit 1
./vendor/bin/phpcs --standard=ruleset.xml --severity=10 --report=checkstyle --report-file=chkphpcs.xml
- name: Archive code sniffing results
uses: actions/upload-artifact@v1
with:
name: phpcs-xml-result
path: chkphpcs.xml

- name: Report annotations
id: report-annotations
run: ./vendor/bin/cs2pr chkphpcs.xml

phpmd:
name: Mess Detect
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1

############################################################################
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.2'
tools: composer, prestissimo
extensions: ast
coverage: none

#https://github.com/actions/cache/blob/master/examples.md#php---composer
- name: Cache composer packages
id: composer-cache
run: |
composer config cache-files-dir
echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v1
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Update project dependencies
run: |
composer install --prefer-dist --no-progress --no-suggest
composer dump-autoload --optimize
./vendor/bin/pearify process .
############################################################################

- name: Run the mess detector
run: ./vendor/bin/phpmd . xml codesize,naming,unusedcode,controversial,design --exclude vendor,var,build,tests,.phan --reportfile pmdphpmd.xml --ignore-violations-on-exit

- name: Archive mess detection results
uses: actions/upload-artifact@v1
with:
name: phpmd-xml-result
path: pmdphpmd.xml

- name: Report annotations
id: report-annotations
run: ./vendor/bin/pmd2pr --graceful-warnings pmdphpmd.xml

phpcpd:
name: Copy-Paste Detect
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1

############################################################################
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.2'
tools: composer, prestissimo
extensions: ast
coverage: none

#https://github.com/actions/cache/blob/master/examples.md#php---composer
- name: Cache composer packages
id: composer-cache
run: |
composer config cache-files-dir
echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v1
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Update project dependencies
run: |
composer install --prefer-dist --no-progress --no-suggest
composer dump-autoload --optimize
./vendor/bin/pearify process .
############################################################################

#https://github.com/sebastianbergmann/phpcpd/issues/148
- name: Run the copy-paste detector
run: ./vendor/bin/phpcpd --exclude=.phan --exclude=vendor --exclude=build --exclude=lib --log-pmd=phdpcpd.xml .
continue-on-error: true

- name: Archive copy-paste detection results
uses: actions/upload-artifact@v1
with:
name: phdpcpd-xml-result
path: phdpcpd.xml

- name: Report annotations
id: report-annotations
run: |
composer require mridang/cpd-annotations
./vendor/bin/cpd2pr phdpcpd.xml
package:
name: Package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1

############################################################################
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.2'
tools: composer, prestissimo
extensions: ast
coverage: none

#https://github.com/actions/cache/blob/master/examples.md#php---composer
- name: Cache composer packages
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v1
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Update project dependencies
run: |
composer install --prefer-dist --no-progress --no-suggest
composer dump-autoload --optimize
./vendor/bin/pearify process .
############################################################################

- name: Build archive using composer
run: composer archive --format=zip --file=archive

- name: Archive built package
uses: actions/upload-artifact@v1
with:
name: composer-zip-archive
path: archive.zip
58 changes: 58 additions & 0 deletions .github/workflows/phan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Phan

on: [push]

jobs:

phan:
name: Phan Analysis
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1

############################################################################
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.2'
tools: composer, prestissimo, pecl
coverage: none

- name: Install AST extension
run: sudo pecl install -f ast

#https://github.com/actions/cache/blob/master/examples.md#php---composer
- name: Cache composer packages
id: composer-cache
run: |
composer config cache-files-dir
echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v1
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Update project dependencies
run: |
composer install --prefer-dist --no-progress --no-suggest
composer dump-autoload --optimize
./vendor/bin/pearify process .
############################################################################

- name: Run Phan analysis
id: phan-analysis
run: ./vendor/bin/phan --config-file=phan.php --output-mode=checkstyle --output=chkphan.xml
continue-on-error: true

- name: Archive static analysis results
uses: actions/upload-artifact@v1
with:
name: phan-analysis-results
path: chkphan.xml

- name: Report annotations
id: report-annotations
run: ./vendor/bin/cs2pr chkphan.xml
Loading

0 comments on commit 13b88ba

Please sign in to comment.