Skip to content

Merge pull request #359 from Nosto/compatibility-prestashop-8.1 #389

Merge pull request #359 from Nosto/compatibility-prestashop-8.1

Merge pull request #359 from Nosto/compatibility-prestashop-8.1 #389

Workflow file for this run

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: |
./libs/bin/phpcs --config-set ignore_errors_on_exit 1
./libs/bin/phpcs --config-set ignore_warnings_on_exit 1
./libs/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: ./libs/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: ./libs/bin/phpmd . xml codesize,naming,unusedcode,controversial,design --exclude libs,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: ./libs/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: ./libs/bin/phpcpd --exclude=libs --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
./libs/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: Get plugin version number
id: plugin_version
run: |
echo "::set-output name=PLUGIN_VERSION::$(cat nostotagging.php | grep 'const PLUGIN_VERSION =' | awk '{print $4}' | tr "\'" " " | tr ";" " " | xargs)"
- name: Build archive using composer
run: ./libs/bin/phing -verbose -Dversion="${{steps.plugin_version.outputs.PLUGIN_VERSION}}"
- name: Archive built package
uses: actions/upload-artifact@v3
with:
name: ${{steps.plugin_version.outputs.PLUGIN_VERSION}}-Nosto.-.Personalization.for.PrestaShop
path: build/src