Here are suggested hooks for integration manager repository, in a composer based PHP project.
The IM has all the developer hooks, more the prepare-commit-msg to intercept unwanted merges.
Here are suggested hooks for integration manager repository, in a composer based PHP project.
The IM has all the developer hooks, more the prepare-commit-msg to intercept unwanted merges.
Here are suggested hooks for a developer repository, in a composer based PHP project.
The pre-commit
avoids direct commits in master
branch and performs quality checks (qa
script) on changed files,
blocking the poor quality code.
The post-merge
install new versions of packages on composer.lock
changes and perform a new QA check on incoming code.
The quality checks are based on PHP Mess Detector and PHP CodeSniffer
<?php | |
namespace App\Config; | |
use SilverStripe\Core\Manifest\ModuleLoader; | |
use SilverStripe\Forms\HTMLEditor\TinyMCEConfig; | |
class EditorConfig | |
{ | |
public static function setAllEditors() |
<?php | |
namespace App\Config; | |
use SilverStripe\Core\Manifest\ModuleLoader; | |
use SilverStripe\Forms\HTMLEditor\TinyMCEConfig; | |
class EditorConfig | |
{ | |
public static function setAllEditors() |
<?php | |
// Files to create: | |
// app/src/Extensions/DataObject/HideFileAndLinkTrackingTabsExtension.php | |
// app/_config/cwp_fix.yml | |
namespace Chrometoaster\Extensions\DataObject; | |
use SilverStripe\Forms\FieldList; | |
use SilverStripe\ORM\DataExtension; |
version: '2' | |
services: | |
api: | |
volumes: | |
- "nfsmount:${CONTAINER_DIR}" | |
volumes: | |
nfsmount: | |
driver: local | |
driver_opts: |
<?php | |
namespace SmartCookie\GraphQL; | |
use GraphQL\Type\Definition\ResolveInfo; | |
use GraphQL\Type\Definition\Type; | |
use SilverStripe\GraphQL\Manager; | |
use SilverStripe\GraphQL\OperationResolver; | |
use SilverStripe\GraphQL\QueryCreator; | |
use SilverStripe\ORM\DataObject; | |
use SilverStripe\GraphQL\Scaffolding\Util\ScaffoldingUtil; |
<?php | |
server('live', '{{LiveServer}}', 22) | |
->user('{{SshUser}}') | |
->forwardAgent() // You can use identity key, ssh config, or username/password to auth on the server. | |
->stage('live') | |
->env('deploy_path', '{{DeployDir}}'); // Define the base path to deploy your project to. | |
server('staging', '{{StagingServer}}', 22) | |
->user('{{SshUser}}') | |
->forwardAgent() // You can use identity key, ssh config, or username/password to auth on the server. |
# ignore everything... | |
/* | |
# ...but | |
# htaccess is ignored since we have a different versions for each stage see in /deploy | |
!/.gitignore | |
!/composer.json | |
!/composer.lock | |
!/.editorconfig | |
!/README.md |