Checkout Config
build:
environment:
timezone: 'US/Eastern'
php:
version: 5.4.30
ini:
allow_url_fopen: "On"
allow_url_include: "Off"
always_populate_raw_post_data: "Off"
apc.cache_by_default: "1"
apc.canonicalize: "1"
apc.coredump_unmap: "1"
apc.enable_cli: "0"
apc.enabled: "1"
apc.file_update_protection: "2"
apc.gc_ttl: "3600"
apc.include_once_override: "0"
apc.local_size: 128M
apc.localcache: "1"
apc.max_file_size: 128K
apc.mmap_file_mask: /apc.shm.XXXXXX
apc.num_files_hint: "1024"
apc.optimization: "0"
apc.report_autofilter: "0"
apc.rfc1867: "1"
apc.rfc1867_freq: "5"
apc.rfc1867_name: APC_UPLOAD_PROGRESS
apc.rfc1867_prefix: upload_
apc.shm_segments: "1"
apc.shm_size: 128M
apc.stat: "1"
apc.stat_ctime: "1"
apc.ttl: "7200"
apc.user_ttl: "7200"
apc.write_lock: "1"
cgi.fix_pathinfo: "1"
date.timezone: America/New_York
display_errors: "On"
error_reporting: E_ALL
max_execution_time: "300"
max_input_time: "300"
memory_limit: 256M
post_max_size: 32M
register_long_arrays: "Off"
session.cookie_httponly: "0"
short_open_tag: "Off"
upload_max_filesize: 32M
hosts:
local.dev: '127.0.0.1'
apache2:
modules: ['rewrite']
sites:
springboard:
web_root: '.'
host: 'local.dev'
dependencies:
before:
- 'cd'
- 'sudo composer self-update'
- 'if [ -n "${GITHUB_ACCESS_TOKEN}" ]; then composer global config github-oauth.github.com $GITHUB_ACCESS_TOKEN; fi'
- 'composer global require --update-no-dev drush/drush:6.5.0'
- 'wget http://selenium-release.storage.googleapis.com/2.45/selenium-server-standalone-2.45.0.jar'
- "xvfb-run -a -s '-screen 0 1024x768x16' java -Xmx512m -jar selenium-server-standalone-2.45.0.jar >> artifacts/selenium.log 2>&1 &"
- 'mysql -uroot -e "CREATE DATABASE springboard"'
- 'sudo apt-get install ack-grep -y'
project_setup:
before:
- 'cd ~/build'
- 'find . -type f \( -name "*.php" -or -name "*.module" -or -name "*.install" -or -name "*.inc" -or -name "*.profile" -or -name "*.test" -or -name "*.theme" \) -print0 | xargs -0 -n1 -P8 php -l'
# Negate the return value of ack, because not finding these
# strings should be a pass.
- '! ack-grep -i "<<<<<<<|^=======$|>>>>>>>|dpm\(|dsm\(|var_dump\(|var_export\(|debug\(|dpq|dvm|dpr\(|kpr|dvr|kprint_r|dprint_r|devel_render|ddebug_backtrace|debug_backtrace|debug_print_backtrace|debug_to_file" --ignore-file=ext:txt,html,yml,js'
- 'cd'
- 'mv build repo'
- 'git clone --depth 1 --branch 7.x-4.x https://github.com/JacksonRiver/Springboard-Build.git build-tools'
- 'echo "projects[springboard][download][branch] = $SCRUTINIZER_SHA1" >> build-tools/springboard-core.make'
- 'drush make build-tools/springboard-mtsb.make build'
- 'cd ~/build'
- 'chmod -R 777 sites/default'
- "drush si sbsetup install_configure_form.update_status_module='array(FALSE,FALSE)' --account-name=admin --account-pass=admin [email protected] --clean-url=1 [email protected] --site-name=4x --db-url=mysql://root:@127.0.0.1/springboard --yes"
- 'drush -l http://local.dev cc all'
- 'drush -l http://local.dev sql-dump --result-file=../dump.sql'
- 'cd'
- 'git clone --depth 1 --branch master https://github.com/JacksonRiver/acceptance-tests.git acceptance-tests'
- 'cd acceptance-tests'
- 'composer install --no-dev'
- 'cp codeception.yml.ci codeception.yml'
- 'cp tests/acceptance.suite.yml.ci tests/acceptance.suite.yml'
tests:
before:
override:
- 'cd ~/build'
- 'drush -l http://local.dev status'
- 'curl --max-time 20 http://local.dev | grep "DONATE"'
- 'drush -l http://local.dev en springboard_tests -y'
- 'drush -l http://local.dev sb-test-run springboard --xml=../artifacts'
- 'cd ~/acceptance-tests && ./vendor/bin/codecept run --html --xml -vv'
filter:
paths:
- '*.php'
- '*.module'
- '*.install'
- '*.inc'
- '*.profile'
- '*.test'
- '*.theme'
excluded_paths:
- 'vendor/*'
- 'app/*'
- 'web/*'
tools:
js_hint:
enabled: true
filter:
paths:
- '*.js'
php_mess_detector:
extensions:
- php
- module
- install
- inc
- profile
- test
- theme
filter:
excluded_paths: ['vendor/*', 'app/*', 'web/*']
config:
code_size_rules:
cyclomatic_complexity: true
npath_complexity: true
excessive_method_length: true
excessive_class_length: true
excessive_parameter_list: true
excessive_public_count: true
too_many_fields: true
too_many_methods: true
excessive_class_complexity: true
design_rules:
exit_expression: true
eval_expression: true
goto_statement: true
number_of_class_children: true
depth_of_inheritance: true
coupling_between_objects: true
unused_code_rules:
unused_private_field: true
unused_local_variable: true
unused_private_method: true
unused_formal_parameter: false
naming_rules:
short_variable:
minimum: 3
long_variable:
maximum: 40
short_method:
minimum: 3
constructor_conflict: true
constant_naming: true
boolean_method_name: true
controversial_rules:
superglobals: false
camel_case_class_name: false
camel_case_property_name: false
camel_case_method_name: false
camel_case_parameter_name: false
camel_case_variable_name: false
php_code_sniffer:
enabled: true
extensions:
- php
- module
- install
- inc
- profile
- test
- theme
filter:
excluded_paths: ['vendor/*', 'app/*', 'web/*']
config:
tab_width: '2'
encoding: utf8
standard: Drupal
php_cpd:
names:
- '*.php'
- '*.module'
- '*.install'
- '*.inc'
- '*.profile'
- '*.test'
- '*.theme'
filter:
excluded_paths: ['vendor/*', 'app/*', 'web/*']
php_loc:
names:
- '*.php'
- '*.module'
- '*.install'
- '*.inc'
- '*.profile'
- '*.test'
- '*.theme'
php_pdepend:
suffixes:
- php
- module
- install
- inc
- profile
- test
- theme
php_sim: false
php_changetracking: true
php_analyzer:
enabled: false
config:
metrics_coupling:
enabled: false
metrics_lack_of_cohesion_methods:
enabled: false
basic_semantic_checks:
enabled: false
property_on_interface: true
missing_abstract_methods: true
extensions:
- php
- module
- install
- inc
- profile
- test
- theme
sensiolabs_security_checker: false
# Runs the PHP CS Fixer (http://cs.sensiolabs.org/).
php_cs_fixer:
extensions:
- php
- module
- install
- inc
- profile
- test
- theme
filter:
excluded_paths: ['vendor/*', 'app/*', 'web/*']
config:
level: custom # Allowed Values: "psr0", "psr1", "psr2", "all", "custom"
fixers:
indentation: false
linefeed: true # All PHP files must use the Unix LF (linefeed) line ending.
trailing_spaces: true # Remove trailing whitespace at the end of lines.
unused_use: false
phpdoc_params: false
visibility: false
return: false
short_tag: true # PHP code must use the long <?php ?> tags or the short-echo <?= ?> tags; it must not use the other tag variations.
braces: false
include: true # Include and file path should be divided with a single space. File path should not be placed under brackets.
php_closing_tag: true # The closing ?> tag MUST be omitted from files containing only PHP.
extra_empty_lines: false
controls_spaces: true # A single space should be between: the closing brace and the control, the control and the opening parentheses, the closing parentheses and the opening brace.
elseif: true # The keyword elseif should be used instead of else if so that all control keywords looks like single words.
eof_ending: true # A file must always end with an empty line feed.
Repository Config
build:
environment:
variables:
springboard_advocacy_server_url: 'https://advocacy-staging.gospringboard.io'
springboard_advocacy_client_id: '7sjPacunRXbpXKwR'
springboard_advocacy_client_secret: 'FtyA2Oz9B7mD8NrG3tIaWXiLZ1t2bed3'
springboard_advocacy_smarty_authid: 'c3ec8550-cf65-64b9-aa57-52017bef32b4'
springboard_advocacy_smarty_authtoken: 'pBzRvO87ckWD1s7iYn0Y'
social_action_twitter_consumer_key: 'jlx6QyuDeK0Sy0K68tFGb4i2e'
social_action_twitter_consumer_secret: '7zfS6LuXgbzxXlMmEt7YXqJwmaK088kErAeGs6TZOJjCilUoPU'
springboard_advocacy_test_email: '[email protected]'
twitter_name: 'whytheiser'
twitter_pass: '@bl@ti0n'
ALLOWED_BRANCHES: '7.x-4.x_yaml_update'
Global Config
filter:
paths:
- '*.php'
- '*.module'
- '*.install'
- '*.inc'
- '*.profile'
- '*.test'
- '*.theme'
excluded_paths:
- 'vendor/*'
- 'app/*'
- 'web/*'
tools:
js_hint:
enabled: true
filter:
paths:
- '*.js'
php_mess_detector:
extensions:
- php
- module
- install
- inc
- profile
- test
- theme
filter:
excluded_paths: ['vendor/*', 'app/*', 'web/*']
config:
code_size_rules:
cyclomatic_complexity: true
npath_complexity: true
excessive_method_length: true
excessive_class_length: true
excessive_parameter_list: true
excessive_public_count: true
too_many_fields: true
too_many_methods: true
excessive_class_complexity: true
design_rules:
exit_expression: true
eval_expression: true
goto_statement: true
number_of_class_children: true
depth_of_inheritance: true
coupling_between_objects: true
unused_code_rules:
unused_private_field: true
unused_local_variable: true
unused_private_method: true
unused_formal_parameter: false
naming_rules:
short_variable:
minimum: 3
long_variable:
maximum: 40
short_method:
minimum: 3
constructor_conflict: true
constant_naming: true
boolean_method_name: true
controversial_rules:
superglobals: false
camel_case_class_name: false
camel_case_property_name: false
camel_case_method_name: false
camel_case_parameter_name: false
camel_case_variable_name: false
php_code_sniffer:
enabled: true
extensions:
- php
- module
- install
- inc
- profile
- test
- theme
filter:
excluded_paths: ['vendor/*', 'app/*', 'web/*']
config:
tab_width: '2'
encoding: utf8
standard: Drupal
php_cpd:
names:
- '*.php'
- '*.module'
- '*.install'
- '*.inc'
- '*.profile'
- '*.test'
- '*.theme'
filter:
excluded_paths: ['vendor/*', 'app/*', 'web/*']
php_loc:
names:
- '*.php'
- '*.module'
- '*.install'
- '*.inc'
- '*.profile'
- '*.test'
- '*.theme'
php_pdepend:
suffixes:
- php
- module
- install
- inc
- profile
- test
- theme
php_sim: false
php_changetracking: true
php_analyzer:
enabled: false
config:
metrics_coupling:
enabled: false
metrics_lack_of_cohesion_methods:
enabled: false
basic_semantic_checks:
enabled: false
property_on_interface: true
missing_abstract_methods: true
extensions:
- php
- module
- install
- inc
- profile
- test
- theme
sensiolabs_security_checker: false
# Runs the PHP CS Fixer (http://cs.sensiolabs.org/).
php_cs_fixer:
extensions:
- php
- module
- install
- inc
- profile
- test
- theme
filter:
excluded_paths: ['vendor/*', 'app/*', 'web/*']
config:
level: custom # Allowed Values: "psr0", "psr1", "psr2", "all", "custom"
fixers:
indentation: false
linefeed: true # All PHP files must use the Unix LF (linefeed) line ending.
trailing_spaces: true # Remove trailing whitespace at the end of lines.
unused_use: false
phpdoc_params: false
visibility: false
return: false
short_tag: true # PHP code must use the long <?php ?> tags or the short-echo <?= ?> tags; it must not use the other tag variations.
braces: false
include: true # Include and file path should be divided with a single space. File path should not be placed under brackets.
php_closing_tag: true # The closing ?> tag MUST be omitted from files containing only PHP.
extra_empty_lines: false
controls_spaces: true # A single space should be between: the closing brace and the control, the control and the opening parentheses, the closing parentheses and the opening brace.
elseif: true # The keyword elseif should be used instead of else if so that all control keywords looks like single words.
eof_ending: true # A file must always end with an empty line feed.
checks:
php:
code_rating: true
duplication: true