Merge pull request #361 from Nosto/division-by-zero-when-tax-is-zero #399
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v4 | |
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@v4 | |
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@v4 | |
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@v4 | |
with: | |
name: ${{steps.plugin_version.outputs.PLUGIN_VERSION}}-Nosto.-.Personalization.for.PrestaShop | |
path: build/src |