Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add inspections to master #250

Merged
merged 1 commit into from
Oct 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
196 changes: 196 additions & 0 deletions .github/workflows/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
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.3'
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
############################################################################

- 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.3'
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
############################################################################

- 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.3'
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
############################################################################

#https://github.com/sebastianbergmann/phpcpd/issues/148
- name: Run the copy-paste detector
run: ./vendor/bin/phpcpd --exclude=vendor --exclude=build --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.3'
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
############################################################################

- name: Build archive using composer
run: composer build-package

- name: Archive built package
uses: actions/upload-artifact@v1
with:
name: NostoTagging-X.Y.Z.zip
path: NostoTagging-X.Y.Z.zip

58 changes: 58 additions & 0 deletions .github/workflows/ide.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: PHPStorm

on: [push]

jobs:

ide:
name: IDE Inspection
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1

############################################################################
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.3'
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
rm -rf vendor/bin build/static/Random.php
############################################################################

- name: Run PHPStorm
uses: mridang/action-phpstorm@master
with:
target: .
profile: ./.idea/inspectionProfiles/CI.xml
output: ./output
verbosity: v2
scope: Inspection

- name: Archive inspection results
uses: actions/upload-artifact@v1
with:
name: inspection-results
path: output
57 changes: 57 additions & 0 deletions .github/workflows/phan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
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.3'
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
############################################################################

- name: Run Phan analysis
id: phan-analysis
run: ./vendor/bin/phan --config-file=phan.php --output-mode=checkstyle --output=chkphan.xml --processes=4
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@ vendor
build/package
build/src
.idea
output
.idea/workspace.xml
NostoTagging/

59 changes: 59 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copyright/Nosto.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading