Skip to content

Commit

Permalink
Merge pull request #309 from Nosto/release/3.9.0
Browse files Browse the repository at this point in the history
  • Loading branch information
supercid authored Jul 22, 2020
2 parents ddf71e3 + f31a4ac commit b5ebf75
Show file tree
Hide file tree
Showing 120 changed files with 1,451 additions and 958 deletions.
195 changes: 195 additions & 0 deletions .github/workflows/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
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
############################################################################

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

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

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

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

- name: Run Phan analysis
id: phan-analysis
run: ./libs/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: ./libs/bin/cs2pr chkphan.xml
29 changes: 24 additions & 5 deletions .phan/prestashop.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,28 @@
<?php
/**
* 2013-2020 Nosto Solutions Ltd
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to contact@nosto.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author Nosto Solutions Ltd <contact@nosto.com>
* @copyright 2013-2020 Nosto Solutions Ltd
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/

abstract class AbstractLogger extends AbstractLoggerCore {}
class Address extends AddressCore {}
class AddressController extends AddressControllerCore {}
Expand Down Expand Up @@ -140,7 +164,6 @@ class ConnectionsSource extends ConnectionsSourceCore {}
class Contact extends ContactCore {}
class ContactController extends ContactControllerCore {}
class Context extends ContextCore {}
abstract class Controller extends ControllerCore {}
class ControllerFactory extends ControllerFactoryCore {}
class Cookie extends CookieCore {}
class Country extends CountryCore {}
Expand All @@ -152,7 +175,6 @@ class CustomerThread extends CustomerThreadCore {}
class Customization extends CustomizationCore {}
class CustomizationField extends CustomizationFieldCore {}
class DateRange extends DateRangeCore {}
abstract class Db extends DbCore {}
class DbMySQLi extends DbMySQLiCore {}
class DbPDO extends DbPDOCore {}
class DbQuery extends DbQueryCore {}
Expand Down Expand Up @@ -212,7 +234,6 @@ class Message extends MessageCore {}
class Meta extends MetaCore {}
class Module extends ModuleCore {}
class ModuleAdminController extends ModuleAdminControllerCore {}
class ModuleFrontController extends ModuleFrontControllerCore {}
abstract class ModuleGraph extends ModuleGraphCore {}
abstract class ModuleGraphEngine extends ModuleGraphEngineCore {}
abstract class ModuleGrid extends ModuleGridCore {}
Expand All @@ -221,7 +242,6 @@ class MyAccountController extends MyAccountControllerCore {}
class MySQL extends MySQLCore {}
class NewProductsController extends NewProductsControllerCore {}
class Notification extends NotificationCore {}
class ObjectModel extends ObjectModelCore {}
class Order extends OrderCore {}
class OrderCarrier extends OrderCarrierCore {}
class OrderCartRule extends OrderCartRuleCore {}
Expand Down Expand Up @@ -315,7 +335,6 @@ class TaxRule extends TaxRuleCore {}
class TaxRulesGroup extends TaxRulesGroupCore {}
class TaxRulesTaxManager extends TaxRulesTaxManagerCore {}
class Theme extends ThemeCore {}
class Tools extends ToolsCore {}
class Translate extends TranslateCore {}
class TranslatedConfiguration extends TranslatedConfigurationCore {}
class Tree extends TreeCore {}
Expand Down
24 changes: 24 additions & 0 deletions .phan/smarty.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,28 @@
<?php
/**
* 2013-2020 Nosto Solutions Ltd
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to contact@nosto.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author Nosto Solutions Ltd <contact@nosto.com>
* @copyright 2013-2020 Nosto Solutions Ltd
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/

class Smarty_Internal_Data {}
class Smarty_Data extends Smarty_Internal_Data {}
class Smarty {
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@
All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning(http://semver.org/).

## 3.9.0
- Upgrade Nosto-PHP-SDK to improve compatibility with Prestashop ps_checkout module
- Update copyright headers
- Update Github workflow and remove Jenkins
- Use GraphQL to send orders

## 3.8.1
- Update composer dependencies

Expand Down
Loading

0 comments on commit b5ebf75

Please sign in to comment.