Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • project/varbase
  • issue/varbase-3087001
  • issue/varbase-3215888
  • issue/varbase-3245763
  • issue/varbase-3253354
  • issue/varbase-3256661
  • issue/varbase-3258740
  • issue/varbase-3259665
  • issue/varbase-3260809
  • issue/varbase-3263378
  • issue/varbase-3266504
  • issue/varbase-3269421
  • issue/varbase-3269809
  • issue/varbase-3270457
  • issue/varbase-3276911
  • issue/varbase-3277590
  • issue/varbase-3285082
  • issue/varbase-3292847
  • issue/varbase-3293400
  • issue/varbase-3293696
  • issue/varbase-3298632
  • issue/varbase-3301451
  • issue/varbase-3318323
  • issue/varbase-3318847
  • issue/varbase-3346247
  • issue/varbase-3391550
  • issue/varbase-3443948
  • issue/varbase-3471788
  • issue/varbase-3479338
  • issue/varbase-3484640
30 results
Show changes
Commits on Source (817)
Showing with 12387 additions and 755 deletions
version: 2.1
defaults: &defaults
docker:
- image: cimg/base:2022.09
auth:
username: mydockerhub-user
password: $DOCKERHUB_PASSWORD
- image: cimg/mysql:8.0
auth:
username: mydockerhub-user
password: $DOCKERHUB_PASSWORD
entrypoint:
[
"docker-entrypoint.sh",
"--default-authentication-plugin=mysql_native_password",
]
environment:
MYSQL_ROOT_PASSWORD: rootpw
MYSQL_ROOT_HOST: "%"
MYSQL_DATABASE: test_varbase
MYSQL_USER: user
MYSQL_PASSWORD: passw0rd
resource_class: large
commands:
varbase-build:
steps:
- checkout
- run:
name: Usefull must have utils
command: |
sudo apt -qq update
sudo apt -qqy install docker-buildx-plugin
sudo apt -qqy upgrade
sudo apt -yqq install vim links lynx git diffutils htop curl wget p7zip-full unzip zip sed gcc g++
sudo apt -yqq install make libfreetype6-dev libaio1 libaio-dev libonig-dev libpng-dev mysql-client default-mysql-client xvfb
sudo apt -yqq install gtk2-engines-pixbuf xserver-xorg-core xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable
sudo apt -yqq install libxpm4 libgtk2.0-0 imagemagick dbus-x11 x11-apps libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3
sudo apt -yqq install libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0
sudo apt -yqq install libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6
sudo apt -yqq install libxrandr2 libxrender1 libxss1 libxtst6 libnss3 libu2f-udev libgbm1 libvulkan1 fonts-liberation libappindicator3-1
sudo apt -yqq install libatk-bridge2.0-0 xdg-utils gnupg2 apt-transport-https ca-certificates
- run:
name: Setup Apache2 and PHP8.3
command: |
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt upgrade
sudo apt -yqq install apache2 php8.3 libapache2-mod-php8.3 php8.3-mbstring php8.3-mysql php8.3-xml php8.3-cgi php8.3-cli php8.3-common php8.3-curl php8.3-gd php8.3-imap php8.3-intl php8.3-pspell php8.3-sqlite3 php8.3-tidy php8.3-opcache php8.3-yaml php8.3-bz2 php8.3-readline php8.3-xmlrpc php8.3-enchant php8.3-xsl php8.3-zip php8.3-bcmath php-pear
sudo a2enmod php8.3
sudo a2enmod headers rewrite env mime expires ssl
sudo update-alternatives --set php /usr/bin/php8.3
echo -e "memory_limit = -1" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "max_execution_time = 1200" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "error_reporting = E_ALL" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "max_input_time = 180" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "max_input_vars = 10000" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "post_max_size = 64M" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "upload_max_filesize = 32M" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "max_file_uploads = 40" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
sudo service apache2 restart
- run:
name: Waiting for MySQL to be ready
command: |
for i in `seq 1 10`;
do
nc -z 127.0.0.1 3306 && echo Success && exit 0
echo -n .
sleep 1
done
echo Failed waiting for MySQL && exit 1
- run:
name: Start D-Bus
command: sudo service dbus start
- run:
name: Configure and run the virtual display.
command: |
export DISPLAY=:99
Xvfb -ac :99 -screen 0 1600x1200x24 > /dev/null 2>&1
background: true
- run:
name: Install/Update Google Chrome browser
command: |
sudo apt install libu2f-udev
sudo apt-get install libgbm1 libvulkan1 libnss3 libgconf-2-4 libxss1 fonts-liberation libappindicator3-1 libatk-bridge2.0-0 xdg-utils libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt-get install -f
rm google-chrome-stable_current_amd64.deb
sudo chmod +x /usr/bin/google-chrome
/usr/bin/google-chrome --version
google-chrome --version
- run:
name: Install/Update Chrome Driver
command: |
CHROME_VERSION=$(google-chrome --product-version);
echo $CHROME_VERSION;
wget https://storage.googleapis.com/chrome-for-testing-public/$CHROME_VERSION/linux64/chromedriver-linux64.zip
unzip chromedriver-linux64.zip
sudo chmod +x chromedriver-linux64/chromedriver
sudo mv -f chromedriver-linux64/chromedriver /usr/bin/
rm -rf chromedriver-linux64.zip chromedriver-linux64
chromedriver --version
- run:
name: Install Java
command: |
sudo apt update
sudo apt install -y openjdk-11-jre openjdk-11-jre-headless openjdk-11-jdk openjdk-11-jdk-headless
- run:
name: Run Selenium Standalone server
command: |
export DISPLAY=:99
if [[ ! -f /home/circleci/selenium-server-4.4.0.jar ]]; then wget -O /home/circleci/selenium-server-4.4.0.jar https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.4.0/selenium-server-4.4.0.jar; fi
cd /home/circleci/
java -jar selenium-server-4.4.0.jar standalone --port 4445
background: true
- run:
name: Install composer ~2
command: |
sudo curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin/ --filename=composer --2;
composer config -g github-oauth.github.com $GITHUB_TOKEN
- run:
name: List tools versions
command: |
php --version
java -version
google-chrome --version
chromedriver --version
mysql --version
composer --version
php -m
php -i | grep "Loaded Configuration File"
php --ini
- run:
name: Build Varbase with the composer
command: |
if [ -d "/var/www/html/test" ]; then
sudo rm -rf /var/www/html/test -vvv
fi
cd /var/www/
sudo chmod 775 -R .
sudo chown www-data:circleci -R .
mkdir /var/www/html/test
cd /var/www/html/test/
sudo chmod 775 .
sudo chown www-data:circleci .
git clone --branch '10.0.x' https://github.com/vardot/varbase-project.git /var/www/html/test/varbase
cd /var/www/html/test/varbase
composer require --dev drupal/core-dev:~10 --no-update
composer require --dev drush/drush:~13 --no-update
composer require --dev drupal/drupal-extension:5.0.0alpha1 --no-update
composer require --dev webship/behat-html-formatter:~1.0 --no-update
composer require --dev drevops/behat-screenshot:~1.0 --no-update
sudo chmod 775 -R .
sudo chown www-data:circleci -R .
composer install --no-interaction -vvv
sudo chmod 775 -R .
sudo chown www-data:circleci -R .
cp /var/www/html/test/varbase/docroot/sites/default/default.settings.php /var/www/html/test/varbase/docroot/sites/default/settings.php
echo "\$databases['default']['default'] = [
'database' => 'test_varbase',
'username' => 'root',
'password' => 'rootpw',
'host' => '127.0.0.1',
'port' => '3306',
'driver' => 'mysql',
'prefix' => '',
'collation' => 'utf8mb4_general_ci',
];" >> /var/www/html/test/varbase/docroot/sites/default/settings.php
mkdir /var/www/html/test/varbase/config
mkdir /var/www/html/test/varbase/config/sync
echo "\$settings['config_sync_directory'] = '../config/sync';" >> /var/www/html/test/varbase/docroot/sites/default/settings.php
cd /var/www/html/test/varbase
sudo chmod 775 -R .
sudo chown www-data:circleci -R .
- run:
name: Point varbase.test at /var/www/html/test/varbase/docroot
command: |
sudo a2enmod headers rewrite env mime expires ssl
sudo cp /home/circleci/project/.circleci/env/varbase.test.conf /etc/apache2/sites-available/varbase.test.conf
sudo a2ensite varbase.test
echo 127.0.0.1 varbase.test | sudo tee -a /etc/hosts
sudo service apache2 restart
- run:
name: Install Varbase with drush
command: |
mysql -h 127.0.0.1 -uroot -prootpw --execute="DROP DATABASE IF EXISTS test_varbase;" -vvv
mysql -h 127.0.0.1 -uroot -prootpw --execute="CREATE DATABASE test_varbase;" -vvv
cd /var/www/html/test/varbase/docroot
../bin/drush site-install varbase --yes --account-name="webmaster" --account-pass="dD.123123ddd" --account-mail="webmaster@vardot.com" --db-url="mysql://root:rootpw@127.0.0.1/test_varbase" --locale="en" varbase_multilingual_configuration.enable_multilingual=true varbase_extra_components.varbase_demo=true varbase_extra_components.editoria11y=true varbase_extra_components.vmi=true varbase_extra_components.varbase_heroslider=true varbase_extra_components.varbase_carousels=true varbase_extra_components.varbase_search=true varbase_extra_components.varbase_blog=true varbase_extra_components.varbase_auth=true varbase_extra_components.varbase_ai=true varbase_extra_components.varbase_api=true install_configure_form.enable_update_status_emails=NULL -vvv
../bin/drush pm:enable varbase_development --yes
../bin/drush pm:enable varbase_landing --yes
../bin/drush pm:enable varbase_content_planner --yes
../bin/drush pm:enable varbase_media_instagram --yes
../bin/drush pm:enable varbase_media_twitter --yes
../bin/drush pm:enable social_auth_facebook --yes
../bin/drush pm:enable social_auth_twitter --yes
../bin/drush pm:enable social_auth_linkedin --yes
../bin/drush pm:enable varbase_update_helper --yes
../bin/drush cache:rebuild
- run:
name: Add testing users.
command: |
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase/scripts
bash add-testing-users.sh
- run:
name: Import and Update local RTL language
shell: /bin/bash
command: |
cd /var/www/html/test/varbase/docroot
../bin/drush locale-import ar --autocreate-language profiles/contrib/varbase/translations/ar.po
../bin/drush locale-update --langcodes=ar
../bin/drush cr
- run:
name: Uninstall Antibot module to let the selenium bot work
shell: /bin/bash
command: |
cd /var/www/html/test/varbase/docroot
../bin/drush pm:uninstall antibot --yes
../bin/drush config:set system.performance css.preprocess 0 --yes
../bin/drush config:set system.performance js.preprocess 0 --yes
../bin/drush config:set system.logging error_level all --yes
../bin/drush cache:rebuild
jobs:
varbase-testing-01-website-base-requirements:
<<: *defaults
steps:
- varbase-build
- run:
name: Automated Functional Acceptance Testing group - 01 website base requirements
no_output_timeout: 30m
command: |
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase
../../../../bin/behat tests/features/varbase/01-website-base-requirements/
varbase-testing-02-user-management:
<<: *defaults
steps:
- varbase-build
- run:
name: Automated Functional Acceptance Testing group - 02 user management
no_output_timeout: 30m
command: |
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase
../../../../bin/behat tests/features/varbase/02-user-management/
varbase-testing-03-admin-management:
<<: *defaults
steps:
- varbase-build
- run:
name: Automated Functional Acceptance Testing group - 03 admin management
no_output_timeout: 30m
command: |
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase
../../../../bin/behat tests/features/varbase/03-admin-management/
varbase-testing-04-content-structure:
<<: *defaults
steps:
- varbase-build
- run:
name: Automated Functional Acceptance Testing group - 04 content structure
no_output_timeout: 30m
command: |
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase
../../../../bin/behat tests/features/varbase/04-content-structure/
varbase-testing-05-content-management:
<<: *defaults
steps:
- varbase-build
- run:
name: Automated Functional Acceptance Testing group - 05 content-management
no_output_timeout: 30m
command: |
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase
../../../../bin/behat tests/features/varbase/05-content-management/
workflows:
version: 2
varbase-workflow:
jobs:
- varbase-testing-01-website-base-requirements:
filters:
tags:
only: /^10.0.*/
branches:
only: /^10.0.x/
- varbase-testing-02-user-management:
filters:
tags:
only: /^10.0.*/
branches:
only: /^10.0.x/
- varbase-testing-03-admin-management:
filters:
tags:
only: /^10.0.*/
branches:
only: /^10.0.x/
- varbase-testing-04-content-structure:
filters:
tags:
only: /^10.0.*/
branches:
only: /^10.0.x/
- varbase-testing-05-content-management:
filters:
tags:
only: /^10.0.*/
branches:
only: /^10.0.x/
<VirtualHost *:80>
DocumentRoot /var/www/html/test/varbase/docroot
ServerName varbase.test
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html/test/varbase/docroot >
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
\ No newline at end of file
node_modules/**/*
# Ignore deliberately malformed YAML files.
drupalci.yml
{
"extends": [
"airbnb-base",
"plugin:prettier/recommended",
"plugin:yml/recommended"
],
"root": true,
"env": {
"browser": true,
"es6": true,
"node": true
},
"globals": {
"Drupal": true,
"drupalSettings": true,
"drupalTranslations": true,
"jQuery": true,
"_": true,
"Cookies": true,
"Backbone": true,
"Modernizr": true,
"loadjs": true,
"Shepherd": true,
"Sortable": true,
"once": true,
"CKEditor5": true,
"tabbable": true
},
"rules": {
"prettier/prettier": "error",
"consistent-return": ["off"],
"no-underscore-dangle": ["off"],
"max-nested-callbacks": ["warn", 3],
"import/no-mutable-exports": ["warn"],
"no-plusplus": ["warn", {
"allowForLoopAfterthoughts": true
}],
"no-param-reassign": ["off"],
"no-prototype-builtins": ["off"],
"valid-jsdoc": ["warn", {
"prefer": {
"returns": "return",
"property": "prop"
},
"requireReturn": false
}],
"no-unused-vars": ["warn"],
"operator-linebreak": ["error", "after", { "overrides": { "?": "ignore", ":": "ignore" } }],
"yml/indent": ["error", 2]
}
}
# These are supported funding model platforms
github: # Vardot
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: https://www.vardot.com
.DS_Store
bin/
docroot/
vendor/
node_modules/
bower_components/
.sass-cache/
.idea/
\ No newline at end of file
.idea/
# Ignore node modules
node_modules
/*/node_modules
bower_components/
# Ignore Variables
/css/variables.css
/css/variables.css.map
/css/mixins/
# Ignore vim swp files and gedit temp files
*.swp
*.*~
.vim
# Eclipse settings files.
.project
.pydevproject
.settings
.buildpath
# netbeans settings files.
nbproject
/nbproject
/nbproject/
/nbproject/private/
# Ignore OS settings files.
.DS_Store*
Thumbs.db
ehthumbs.db
# Ignore files generated by PhpStorm.
.idea
# Ignore server stuff.
.bash_history
.bashrc
errors.log
### Problem/Motivation
#### Steps to reproduce
```
Given
When
Then
```
### Proposed resolution
### Remaining tasks
- [x] File an issue about this project
- [ ] Addition/Change/Update/Fix to this project
- [ ] Testing to ensure no regression
- [ ] Automated unit/functional testing coverage
- [ ] Developer Documentation support on feature change/addition
- [ ] User Guide Documentation support on feature change/addition
- [ ] Accessibility and Readability
- [ ] Code review from 1 Varbase core team member
- [ ] Full testing and approval
- [ ] Credit contributors
- [ ] Review with the product owner
- [ ] Update Release Notes and Update Helper on new feature change/addition
- [ ] Release
### [Varbase update type](https://docs.varbase.vardot.com/developers/updating-varbase/handling-configuration-updates#change-or-update-types)
- [x] No Update
- [ ] Optional Update
- [ ] Forced Update
- [ ] Forced Update if Unchanged
### API changes
* N/A
### Data model changes
* N/A
### Release notes snippet
* N/A
### Remaining tasks
- [x] File an issue about this project
- [x] Addition/Change/Update/Fix to this project
- [ ] Testing to ensure no regression
- [ ] Automated unit/functional testing coverage
- [ ] Developer Documentation support on feature change/addition
- [ ] User Guide Documentation support on feature change/addition
- [ ] Accessibility and Readability
- [ ] Code review from 1 Varbase core team member
- [ ] Full testing and approval
- [ ] Credit contributors
- [ ] Review with the product owner
- [ ] Update Release Notes and Update Helper on new feature change/addition
- [ ] Release
<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="custom_code">
<arg name="extensions" value="inc,install,module,php,profile,test,theme,yml"/>
<description>Default PHP CodeSniffer configuration for Drupal core.</description>
<!--Exclude folders used by common frontend tools. These folders match the file_scan_ignore_directories setting in default.settings.php-->
<exclude-pattern>varbase.info.yml</exclude-pattern>
<exclude-pattern>*/bower_components/*</exclude-pattern>
<exclude-pattern>*/node_modules/*</exclude-pattern>
<exclude-pattern>tests/features/bootstrap/*</exclude-pattern>
<file>.</file>
<!-- Only include specific sniffs that pass. This ensures that, if new sniffs are added, HEAD does not fail.-->
<!-- Drupal sniffs -->
<rule ref="Drupal.Arrays.Array">
<!-- Sniff for these errors: ArrayClosingIndentation, ArrayIndentation, CommaLastItem -->
<exclude name="Drupal.Arrays.Array.LongLineDeclaration"/>
</rule>
<rule ref="Drupal.CSS.ClassDefinitionNameSpacing"/>
<rule ref="Drupal.CSS.ColourDefinition"/>
<rule ref="Drupal.Classes.ClassCreateInstance"/>
<rule ref="Drupal.Classes.ClassDeclaration"/>
<rule ref="Drupal.Classes.ClassFileName"/>
<rule ref="Drupal.Classes.FullyQualifiedNamespace"/>
<rule ref="Drupal.Classes.InterfaceName"/>
<rule ref="Drupal.Classes.PropertyDeclaration"/>
<rule ref="Drupal.Classes.UnusedUseStatement"/>
<rule ref="Drupal.Classes.UseGlobalClass"/>
<rule ref="Drupal.Classes.UseLeadingBackslash"/>
<rule ref="Drupal.Commenting.ClassComment">
<exclude name="Drupal.Commenting.ClassComment.Missing"/>
</rule>
<rule ref="Drupal.Commenting.DataTypeNamespace"/>
<rule ref="Drupal.Commenting.Deprecated"/>
<rule ref="Drupal.Commenting.DocComment">
<!-- Sniff for these errors: SpacingAfterTagGroup, WrongEnd, SpacingBetween,
ContentAfterOpen, SpacingBeforeShort, TagValueIndent, ShortStartSpace,
SpacingAfter, LongNotCapital, ShortFullStop, TagGroupSpacing, Empty,
TagsNotGrouped, ParamGroup -->
<!-- ParamNotFirst still not decided for PHPUnit-based tests.
@see https://www.drupal.org/node/2253915 -->
<exclude name="Drupal.Commenting.DocComment.LongFullStop"/>
<exclude name="Drupal.Commenting.DocComment.MissingShort"/>
<exclude name="Drupal.Commenting.DocComment.ParamNotFirst"/>
<exclude name="Drupal.Commenting.DocComment.ShortNotCapital"/>
<exclude name="Drupal.Commenting.DocComment.SpacingBeforeTags"/>
</rule>
<rule ref="Drupal.Commenting.DocCommentAlignment"/>
<rule ref="Drupal.Commenting.DocCommentStar"/>
<rule ref="Drupal.Commenting.FileComment"/>
<rule ref="Drupal.Commenting.FunctionComment">
<exclude name="Drupal.Commenting.FunctionComment.InvalidNoReturn"/>
<exclude name="Drupal.Commenting.FunctionComment.Missing"/>
<exclude name="Drupal.Commenting.FunctionComment.MissingParamType"/>
<exclude name="Drupal.Commenting.FunctionComment.MissingReturnComment"/>
<exclude name="Drupal.Commenting.FunctionComment.ParamCommentFullStop"/>
<exclude name="Drupal.Commenting.FunctionComment.TypeHintMissing"/>
</rule>
<rule ref="Drupal.Commenting.GenderNeutralComment"/>
<rule ref="Drupal.Commenting.HookComment"/>
<rule ref="Drupal.Commenting.InlineComment">
<!-- Sniff for: NoSpaceBefore, SpacingBefore, WrongStyle -->
<exclude name="Drupal.Commenting.InlineComment.DocBlock"/>
<exclude name="Drupal.Commenting.InlineComment.InvalidEndChar"/>
<exclude name="Drupal.Commenting.InlineComment.NotCapital"/>
<exclude name="Drupal.Commenting.InlineComment.SpacingAfter"/>
</rule>
<rule ref="Drupal.Commenting.InlineVariableComment"/>
<rule ref="Drupal.Commenting.PostStatementComment"/>
<rule ref="Drupal.Commenting.VariableComment">
<!-- Sniff for: DuplicateVar, EmptyVar, InlineVariableName, WrongStyle -->
<exclude name="Drupal.Commenting.VariableComment.IncorrectVarType"/>
<exclude name="Drupal.Commenting.VariableComment.Missing"/>
<exclude name="Drupal.Commenting.VariableComment.MissingVar"/>
<exclude name="Drupal.Commenting.VariableComment.VarOrder"/>
</rule>
<rule ref="Drupal.ControlStructures.ControlSignature"/>
<rule ref="Drupal.ControlStructures.ElseIf"/>
<rule ref="Drupal.ControlStructures.InlineControlStructure"/>
<rule ref="Drupal.Files.EndFileNewline"/>
<rule ref="Drupal.Files.FileEncoding"/>
<rule ref="Drupal.Files.TxtFileLineLength"/>
<rule ref="Drupal.Formatting.MultiLineAssignment"/>
<rule ref="Drupal.Formatting.MultipleStatementAlignment"/>
<rule ref="Drupal.Formatting.SpaceInlineIf"/>
<rule ref="Drupal.Formatting.SpaceUnaryOperator"/>
<rule ref="Drupal.Functions.DiscouragedFunctions"/>
<rule ref="Drupal.Functions.FunctionDeclaration"/>
<rule ref="Drupal.InfoFiles.AutoAddedKeys"/>
<rule ref="Drupal.InfoFiles.ClassFiles"/>
<rule ref="Drupal.InfoFiles.DuplicateEntry"/>
<rule ref="Drupal.InfoFiles.Required"/>
<rule ref="Drupal.Methods.MethodDeclaration">
<!-- Silence method name underscore warning which is covered already in
Drupal.NamingConventions.ValidFunctionName.ScopeNotCamelCaps. -->
<exclude name="Drupal.Methods.MethodDeclaration.Underscore"/>
</rule>
<rule ref="Drupal.NamingConventions.ValidClassName"/>
<rule ref="Drupal.NamingConventions.ValidGlobal"/>
<rule ref="Drupal.NamingConventions.ValidVariableName"/>
<rule ref="Drupal.NamingConventions.ValidVariableName.LowerCamelName">
<!-- Views plugins do not conform to this sniff. -->
<include-pattern>**/tests/*</include-pattern>
</rule>
<rule ref="Drupal.Scope.MethodScope"/>
<rule ref="Drupal.Semantics.EmptyInstall"/>
<rule ref="Drupal.Semantics.FunctionAlias"/>
<rule ref="Drupal.Semantics.FunctionT">
<exclude name="Drupal.Semantics.FunctionT.NotLiteralString"/>
</rule>
<rule ref="Drupal.Semantics.FunctionWatchdog"/>
<rule ref="Drupal.Semantics.InstallHooks"/>
<rule ref="Drupal.Semantics.LStringTranslatable"/>
<rule ref="Drupal.Semantics.PregSecurity"/>
<rule ref="Drupal.Semantics.RemoteAddress"/>
<rule ref="Drupal.Semantics.TInHookMenu"/>
<rule ref="Drupal.Semantics.TInHookSchema"/>
<rule ref="Drupal.Strings.UnnecessaryStringConcat"/>
<rule ref="Drupal.WhiteSpace.CloseBracketSpacing"/>
<rule ref="Drupal.WhiteSpace.Comma"/>
<rule ref="Drupal.WhiteSpace.EmptyLines"/>
<rule ref="Drupal.WhiteSpace.Namespace"/>
<rule ref="Drupal.WhiteSpace.ObjectOperatorIndent"/>
<rule ref="Drupal.WhiteSpace.ObjectOperatorSpacing"/>
<rule ref="Drupal.WhiteSpace.OpenBracketSpacing"/>
<rule ref="Drupal.WhiteSpace.OpenTagNewline"/>
<rule ref="Drupal.WhiteSpace.ScopeClosingBrace"/>
<rule ref="Drupal.WhiteSpace.ScopeIndent"/>
<!-- Drupal Practice sniffs -->
<rule ref="DrupalPractice.CodeAnalysis.VariableAnalysis">
<!-- @todo exclude tests -->
<exclude-pattern>*/tests/*</exclude-pattern>
<properties>
<property name="allowUnusedFunctionParameters" value="true"/>
</properties>
</rule>
<rule ref="DrupalPractice.CodeAnalysis.VariableAnalysis.UndefinedUnsetVariable">
<severity>0</severity>
</rule>
<rule ref="DrupalPractice.CodeAnalysis.VariableAnalysis.UndefinedVariable">
<!-- Setting severity to 0 to completely disable an error message in this sniff, without excluding the whole sniff -->
<!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Configuration-Options#changing-the-default-severity-levels -->
<severity>0</severity>
</rule>
<rule ref="DrupalPractice.Commenting.ExpectedException"/>
<rule ref="DrupalPractice.General.ExceptionT"/>
<rule ref="DrupalPractice.InfoFiles.NamespacedDependency"/>
<rule ref="DrupalPractice.Objects.GlobalFunction">
<include-pattern>*/Plugin/*</include-pattern>
</rule>
<!-- Generic sniffs -->
<rule ref="Generic.Arrays.DisallowLongArraySyntax"/>
<rule ref="Generic.CodeAnalysis.EmptyPHPStatement"/>
<rule ref="Generic.Files.ByteOrderMark"/>
<rule ref="Generic.Files.LineEndings"/>
<rule ref="Generic.Formatting.DisallowMultipleStatements"/>
<rule ref="Generic.Formatting.SpaceAfterCast"/>
<rule ref="Generic.Functions.FunctionCallArgumentSpacing"/>
<rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie">
<properties>
<property name="checkClosures" value="true"/>
</properties>
</rule>
<rule ref="Generic.NamingConventions.ConstructorName"/>
<rule ref="Generic.NamingConventions.UpperCaseConstantName"/>
<rule ref="Generic.PHP.DeprecatedFunctions"/>
<rule ref="Generic.PHP.DisallowShortOpenTag"/>
<rule ref="Generic.PHP.LowerCaseKeyword"/>
<rule ref="Generic.PHP.UpperCaseConstant"/>
<rule ref="Generic.WhiteSpace.DisallowTabIndent"/>
<!-- Internal sniffs -->
<rule ref="Internal.NoCodeFound">
<!-- No PHP code in *.yml -->
<exclude-pattern>*.yml</exclude-pattern>
</rule>
<!-- MySource sniffs -->
<rule ref="MySource.Debug.DebugCode"/>
<!-- PEAR sniffs -->
<rule ref="PEAR.Files.IncludingFile"/>
<!-- Disable some error messages that we do not want. -->
<rule ref="PEAR.Files.IncludingFile.UseInclude">
<severity>0</severity>
</rule>
<rule ref="PEAR.Files.IncludingFile.UseIncludeOnce">
<severity>0</severity>
</rule>
<rule ref="PEAR.Files.IncludingFile.UseRequire">
<severity>0</severity>
</rule>
<rule ref="PEAR.Files.IncludingFile.UseRequireOnce">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature"/>
<!-- The sniffs inside PEAR.Functions.FunctionCallSignature silenced below are
also silenced in Drupal CS' ruleset.xml. The code below is a 1-on-1 copy
from that file. -->
<rule ref="PEAR.Functions.FunctionCallSignature.CloseBracketLine">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.EmptyLine">
<severity>0</severity>
</rule>
<!-- Disable some error messages that we do not want. -->
<rule ref="PEAR.Functions.FunctionCallSignature.Indent">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.OpeningIndent">
<severity>0</severity>
</rule>
<!-- Disable some error messages that we already cover. -->
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.ValidDefaultValue"/>
<!-- PSR-2 sniffs -->
<rule ref="PSR2.Classes.PropertyDeclaration">
<!-- Silence method name underscore warning which is covered already in
Drupal.Classes.PropertyDeclaration. -->
<exclude name="PSR2.Classes.PropertyDeclaration.Underscore"/>
</rule>
<rule ref="PSR2.Namespaces.NamespaceDeclaration"/>
<rule ref="PSR2.Namespaces.UseDeclaration"/>
<!-- SlevomatCodingStandard sniffs -->
<rule ref="SlevomatCodingStandard.Commenting.ForbiddenAnnotations">
<properties>
<property name="forbiddenAnnotations" type="array">
<element value="@inheritDoc"/>
<element value="@inheritdoc"/>
</property>
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Commenting.ForbiddenComments">
<properties>
<property name="forbiddenCommentPatterns" type="array">
<element value="/@inheritDoc/"/>
</property>
</properties>
</rule>
<!-- Squiz sniffs -->
<rule ref="Squiz.Arrays.ArrayBracketSpacing"/>
<rule ref="Squiz.Arrays.ArrayDeclaration">
<exclude name="Squiz.Arrays.ArrayDeclaration.KeySpecified"/>
<exclude name="Squiz.Arrays.ArrayDeclaration.NoKeySpecified"/>
</rule>
<!-- Disable some error messages that we do not want. -->
<rule ref="Squiz.Arrays.ArrayDeclaration.CloseBraceNotAligned">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.DoubleArrowNotAligned">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.FirstValueNoNewline">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.KeyNotAligned">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.MultiLineNotAllowed">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.NoComma">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.NoCommaAfterLast">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.NotLowerCase">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.SingleLineNotAllowed">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.ValueNoNewline">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.ValueNotAligned">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.ForEachLoopDeclaration"/>
<!-- Disable some error messages that we already cover. -->
<rule ref="Squiz.ControlStructures.ForEachLoopDeclaration.AsNotLower">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.ForEachLoopDeclaration.SpaceAfterOpen">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.ForEachLoopDeclaration.SpaceBeforeClose">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.ForLoopDeclaration"/>
<!-- Disable some error messages that we already cover. -->
<rule ref="Squiz.ControlStructures.ForLoopDeclaration.SpacingAfterOpen">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.ForLoopDeclaration.SpacingBeforeClose">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.SwitchDeclaration"/>
<!-- Disable some error messages that we do not want. -->
<rule ref="Squiz.ControlStructures.SwitchDeclaration.BreakIndent">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.SwitchDeclaration.CaseIndent">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.SwitchDeclaration.CloseBraceAlign">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.SwitchDeclaration.DefaultIndent">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.SwitchDeclaration.DefaultNoBreak">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.SwitchDeclaration.EmptyCase">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.SwitchDeclaration.EmptyDefault">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.SwitchDeclaration.MissingDefault">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.SwitchDeclaration.SpacingAfterCase">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.SwitchDeclaration.SpacingAfterDefaultBreak">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.SwitchDeclaration.SpacingBeforeBreak">
<severity>0</severity>
</rule>
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
<properties>
<property name="equalsSpacing" value="1"/>
</properties>
</rule>
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.NoSpaceBeforeArg">
<severity>0</severity>
</rule>
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration"/>
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine">
<severity>0</severity>
</rule>
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.CloseBracketLine">
<severity>0</severity>
</rule>
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.ContentAfterBrace">
<severity>0</severity>
</rule>
<!-- Standard yet to be finalized on this (https://www.drupal.org/node/1539712). -->
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.FirstParamSpacing">
<severity>0</severity>
</rule>
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.Indent">
<severity>0</severity>
</rule>
<rule ref="Squiz.PHP.LowercasePHPFunctions"/>
<rule ref="Squiz.PHP.NonExecutableCode"/>
<rule ref="Squiz.Strings.ConcatenationSpacing">
<properties>
<property name="spacing" value="1"/>
<property name="ignoreNewlines" value="true"/>
</properties>
</rule>
<rule ref="Squiz.WhiteSpace.FunctionSpacing">
<properties>
<property name="spacing" value="1"/>
</properties>
</rule>
<rule ref="Squiz.WhiteSpace.LanguageConstructSpacing"/>
<rule ref="Squiz.WhiteSpace.OperatorSpacing">
<properties>
<property name="ignoreNewlines" value="true"/>
</properties>
</rule>
<rule ref="Squiz.WhiteSpace.ScopeKeywordSpacing"/>
<rule ref="Squiz.WhiteSpace.SemicolonSpacing"/>
<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/>
<!-- Zend sniffs -->
<rule ref="Zend.Files.ClosingTag"/>
</ruleset>
node_modules
*.yml
{
"printWidth": 80,
"semi": true,
"singleQuote": true,
"trailingComma": "all"
}
{
"extends": "stylelint-config-standard",
"plugins": [
"stylelint-order"
],
"rules": {
"alpha-value-notation": "number",
"at-rule-empty-line-before": null,
"color-function-notation": "legacy",
"comment-empty-line-before": null,
"custom-property-pattern": "^[a-z][-_a-z0-9IE]*$",
"declaration-block-no-redundant-longhand-properties": null,
"function-url-quotes": null,
"function-whitespace-after": null,
"hue-degree-notation": "number",
"import-notation": "string",
"no-descending-specificity": null,
"no-duplicate-selectors": null,
"no-unknown-animations": true,
"max-line-length": null,
"media-feature-name-no-unknown": [true, {
"ignoreMediaFeatureNames": [
"prefers-reduced-motion"
]
}],
"media-feature-name-no-vendor-prefix": null,
"media-feature-range-notation": "prefix",
"number-max-precision": 5,
"order/order": [
"custom-properties",
"dollar-variables",
{
"type": "at-rule",
"hasBlock": false
},
"declarations",
"rules",
{
"type": "at-rule",
"hasBlock": true
}
],
"order/properties-order": [
"position",
"z-index",
"top",
"right",
"bottom",
"left",
"display",
"visibility",
"float",
"clear",
"overflow",
"overflow-x",
"overflow-y",
"-webkit-overflow-scrolling",
"clip",
"zoom",
"flex",
"flex-flow",
"flex-direction",
"flex-wrap",
"flex-basis",
"flex-grow",
"flex-shrink",
"flex-order",
"flex-pack",
"grid",
"grid-area",
"grid-template",
"grid-template-areas",
"grid-template-rows",
"grid-template-columns",
"grid-row",
"grid-row-start",
"grid-row-end",
"grid-column",
"grid-column-start",
"grid-column-end",
"grid-auto-rows",
"grid-auto-columns",
"grid-auto-flow",
"grid-gap",
"grid-row-gap",
"grid-column-gap",
"place-content",
"place-items",
"align-content",
"align-items",
"align-self",
"justify-content",
"justify-items",
"justify-self",
"order",
"-webkit-box-sizing",
"-moz-box-sizing",
"box-sizing",
"width",
"min-width",
"max-width",
"height",
"min-height",
"max-height",
"margin",
"margin-top",
"margin-right",
"margin-bottom",
"margin-left",
"margin-block-start",
"margin-block-end",
"margin-inline-start",
"margin-inline-end",
"padding",
"padding-top",
"padding-right",
"padding-bottom",
"padding-left",
"padding-block-start",
"padding-block-end",
"padding-inline-start",
"padding-inline-end",
"table-layout",
"-webkit-columns",
"columns",
"-webkit-column-span",
"column-span",
"-webkit-column-width",
"column-width",
"-webkit-column-count",
"column-count",
"-webkit-column-fill",
"column-fill",
"-webkit-column-gap",
"column-gap",
"-webkit-column-rule",
"column-rule",
"-webkit-column-rule-width",
"column-rule-width",
"-webkit-column-rule-style",
"column-rule-style",
"-webkit-column-rule-color",
"column-rule-color",
"empty-cells",
"caption-side",
"border-spacing",
"border-collapse",
"$counter-style",
"list-style",
"list-style-position",
"list-style-type",
"list-style-image",
"content",
"quotes",
"counter-reset",
"counter-increment",
"resize",
"cursor",
"-webkit-user-select",
"user-select",
"nav-index",
"nav-up",
"nav-right",
"nav-down",
"nav-left",
"-webkit-transition",
"-o-transition",
"transition",
"-webkit-transition-delay",
"-o-transition-delay",
"transition-delay",
"-webkit-transition-timing-function",
"-o-transition-timing-function",
"transition-timing-function",
"-webkit-transition-duration",
"-o-transition-duration",
"transition-duration",
"-webkit-transition-property",
"-o-transition-property",
"transition-property",
"-webkit-transform",
"-o-transform",
"transform",
"-webkit-transform-origin",
"-o-transform-origin",
"transform-origin",
"$keyframes",
"-webkit-animation",
"-o-animation",
"animation",
"-webkit-animation-name",
"-o-animation-name",
"animation-name",
"-webkit-animation-duration",
"-o-animation-duration",
"animation-duration",
"-webkit-animation-play-state",
"-o-animation-play-state",
"animation-play-state",
"-webkit-animation-timing-function",
"-o-animation-timing-function",
"animation-timing-function",
"-webkit-animation-delay",
"-o-animation-delay",
"animation-delay",
"-webkit-animation-iteration-count",
"-o-animation-iteration-count",
"animation-iteration-count",
"-webkit-animation-direction",
"-o-animation-direction",
"animation-direction",
"text-align",
"-webkit-text-align-last",
"text-align-last",
"vertical-align",
"white-space",
"text-decoration",
"text-emphasis",
"text-emphasis-color",
"text-emphasis-style",
"text-emphasis-position",
"text-indent",
"text-justify",
"text-transform",
"letter-spacing",
"word-spacing",
"text-outline",
"text-transform",
"text-wrap",
"text-overflow",
"text-overflow-ellipsis",
"text-overflow-mode",
"word-wrap",
"word-break",
"-o-tab-size",
"tab-size",
"-webkit-hyphens",
"hyphens",
"pointer-events",
"direction",
"unicode-bidi",
"orphans",
"widows",
"object-fit",
"object-position",
"opacity",
"-webkit-filter",
"filter",
"color",
"border",
"border-collapse",
"border-width",
"border-style",
"border-color",
"border-top",
"border-top-width",
"border-top-style",
"border-top-color",
"border-right",
"border-right-width",
"border-right-style",
"border-right-color",
"border-bottom",
"border-bottom-width",
"border-bottom-style",
"border-bottom-color",
"border-left",
"border-left-width",
"border-left-style",
"border-left-color",
"border-block-start",
"border-block-start-width",
"border-block-start-style",
"border-block-start-color",
"border-inline-end",
"border-inline-end-width",
"border-inline-end-style",
"border-inline-end-color",
"border-block-end",
"border-block-end-width",
"border-block-end-style",
"border-block-end-color",
"border-inline-start",
"border-inline-start-width",
"border-inline-start-style",
"border-inline-start-color",
"-webkit-border-radius",
"border-radius",
"-webkit-border-top-left-radius",
"border-top-left-radius",
"-webkit-border-top-right-radius",
"border-top-right-radius",
"-webkit-border-bottom-right-radius",
"border-bottom-right-radius",
"-webkit-border-bottom-left-radius",
"border-bottom-left-radius",
"-webkit-border-image",
"-o-border-image",
"border-image",
"-webkit-border-image-source",
"-o-border-image-source",
"border-image-source",
"-webkit-border-image-slice",
"-o-border-image-slice",
"border-image-slice",
"-webkit-border-image-width",
"-o-border-image-width",
"border-image-width",
"-webkit-border-image-outset",
"-o-border-image-outset",
"border-image-outset",
"-webkit-border-image-repeat",
"-o-border-image-repeat",
"border-image-repeat",
"outline",
"outline-width",
"outline-style",
"outline-color",
"outline-offset",
"background",
"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
"background-color",
"background-image",
"background-repeat",
"background-attachment",
"background-position",
"background-position-x",
"background-position-y",
"-webkit-background-clip",
"background-clip",
"background-origin",
"-webkit-background-size",
"-o-background-size",
"background-size",
"box-decoration-break",
"-webkit-box-shadow",
"box-shadow",
"text-shadow",
"$font-face",
"font",
"font-family",
"src",
"$font-feature-values",
"$swash",
"$annotation",
"$ornaments",
"$stylistic",
"$styleset",
"$character-variant",
"font-variant-alternates",
"font-size",
"font-weight",
"font-style",
"font-variant",
"font-size-adjust",
"font-stretch",
"font-effect",
"font-emphasize",
"font-emphasize-position",
"font-emphasize-style",
"font-smooth",
"line-height"
],
"property-no-unknown": null,
"property-no-vendor-prefix": null,
"rule-empty-line-before": null,
"selector-attribute-quotes": null,
"selector-class-pattern": null,
"selector-id-pattern": "^[a-z][-_a-z0-9]*$",
"selector-no-vendor-prefix": null,
"shorthand-property-no-redundant-values": null,
"unit-allowed-list": ["ch", "deg", "dpcm", "em", "ex", "fr", "ms", "rem", "%", "s", "px", "vw", "vh"],
"value-keyword-case": ["lower", {
"camelCaseSvgKeywords": true,
"ignoreProperties": [
"--font-family",
"font-family"
]
}],
"value-no-vendor-prefix": null
}
}
dist: trusty
language: php
cache:
bundler: true
directories:
- "$HOME/.composer/cache"
- "$HOME/.drush/cache"
- "$HOME/.npm"
- "$HOME/.selenium/cache"
php:
- 7.2
env:
- AFATG=01-website-base-requirements
- AFATG=02-user-management
- AFATG=03-admin-management
- AFATG=04-content-structure
- AFATG=05-content-management
matrix:
exclude:
# Automated Functional Acceptance Testing group: 01 website base requirements
- php: 7.2
env: AFATG=01-website-base-requirements
# Automated Functional Acceptance Testing group: 02 user management
- php: 7.2
env: AFATG=02-user-management
# Automated Functional Acceptance Testing group: 03 admin management
- php: 7.2
env: AFATG=03-admin-management
# Automated Functional Acceptance Testing group: 04 content structure
- php: 7.2
env: AFATG=04-content-structure
# Automated Functional Acceptance Testing group: 05 content-management
- php: 7.2
env: AFATG=05-content-management
mysql:
database: test_varbase6c
username: root
encoding: utf8
before_install:
- phpenv config-rm xdebug.ini
- phpenv rehash
- composer self-update
- composer --version
# Composer Configurations.
- export PATH="$HOME/.composer/vendor/bin:$TRAVIS_BUILD_DIR/bin:$PATH"
- export COMPOSER_EXIT_ON_PATCH_FAILURE=1
# MySQL Configurations.
- mysql -e 'SET GLOBAL wait_timeout = 5400;'
- mysql -e "SHOW VARIABLES LIKE 'wait_timeout'"
# PHP Configurations.
- echo 'max_execution_time = 1200' >> varbase.php.ini;
- echo 'max_input_time = 180' >> varbase.php.ini;
- echo 'max_input_vars = 10000' >> varbase.php.ini;
- echo 'memory_limit = 2000M' >> varbase.php.ini;
- echo 'error_reporting = E_ALL' >> varbase.php.ini;
- echo 'post_max_size = 64M' >> varbase.php.ini;
- echo 'upload_max_filesize = 32M' >> varbase.php.ini;
- echo 'max_file_uploads = 40' >> varbase.php.ini;
- echo 'sendmail_path = /bin/true' >> varbase.php.ini;
- phpenv config-add varbase.php.ini
- phpenv rehash
# Configure and run the virtual display.
- export DISPLAY=:99
- sh -e /etc/init.d/xvfb start
- Xvfb :99 -ac -screen 0 1366x768x24 &>/dev/null &
- sleep 3
# Download Chrome Driver.
- LATEST_CHROMEDRIVER=$(wget -q -O - http://chromedriver.storage.googleapis.com/LATEST_RELEASE)
- wget http://chromedriver.storage.googleapis.com/$LATEST_CHROMEDRIVER/chromedriver_linux64.zip
- unzip chromedriver_linux64.zip
- chmod +x chromedriver
- mkdir -p $HOME/.composer/vendor/bin
- mv -f chromedriver $HOME/.composer/vendor/bin/
- rm chromedriver_linux64.zip
# Update Chrome.
- export CHROME_BIN=/usr/bin/google-chrome
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- sudo dpkg -i google-chrome-stable_current_amd64.deb
- rm google-chrome-stable_current_amd64.deb
- google-chrome --version
# Run selenium standalone server.
- SELENIUM="$HOME/.selenium/cache/selenium-server-standalone-2.53.1.jar";
- if [[ ! -f $SELENIUM ]]; then wget -O $SELENIUM http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar; fi
- java -jar $SELENIUM -port 4445 > /dev/null 2>&1 &
- echo "[ OK ] Starting Selenium on the 4445 port ..."
install:
- git checkout $TRAVIS_COMMIT
## Build with the composer.
- composer install --no-interaction
## Install with drush.
- cd docroot
- drush site-install varbase --yes --site-name='Test Varbase6c' --account-name=webmaster --account-pass=dD.123123ddd --account-mail=webmaster@vardot.com --db-url="mysql://root:@localhost/test_varbase6c" varbase_multilingual_configuration.enable_multilingual=true varbase_extra_components.vmi=true varbase_extra_components.varbase_heroslider_media=true varbase_extra_components.varbase_carousels=true varbase_extra_components.varbase_search=true varbase_extra_components.varbase_blog=true varbase_extra_components.varbase_auth=true varbase_development_tools.varbase_development=true
- drush pm-enable varbase_styleguide --yes
- drush pm-enable vbp_text_and_image --yes
- drush pm-enable varbase_media_instagram --yes
- drush pm-enable varbase_media_twitter --yes
- drush pm-enable social_auth_google --yes
- drush pm-enable social_auth_facebook --yes
- drush pm-enable social_auth_twitter --yes
- drush pm-enable social_auth_linkedin --yes
- drush config-set system.performance css.preprocess 0 --yes
- drush config-set system.performance js.preprocess 0 --yes
- drush config-set system.logging error_level all --yes
- drush cr
before_script:
- drush runserver --default-server=builtin 8080 &>/dev/null &
- sleep 5
script:
- cd ./profiles/varbase
- behat --strict tests/features/varbase/step1-init-tests/
- behat --strict tests/features/varbase/step2-apply-tests/$AFATG
# - behat --strict tests/features/varbase/step3-cleanup-tests/ # no need as we build every time.
matrix:
fast_finish: true
This diff is collapsed.
[![Build Status](https://travis-ci.org/Vardot/varbase.svg?branch=8.x-6.2)](https://travis-ci.org/Vardot/varbase/builds/452558602) Varbase 8.6.2
[![Vardot](https://circleci.com/gh/Vardot/varbase/tree/10.0.x.svg?style=shield)](https://app.circleci.com/pipelines/github/Vardot/varbase/1036/workflows/b1a9527e-8ab6-4a7d-877b-ed940b80244b) [![Ceasefire Now](https://badge.techforpalestine.org/ceasefire-now)](https://techforpalestine.org/learn-more) Varbase 10.0.4
[![](https://www.drupal.org/files/styles/grid-3/public/project-images/Medium-Logo%20Color%20with%20padding.png)](https://www.drupal.org/project/varbase)
[![](https://www.drupal.org/files/project-images/varbase-medium-logo-color-with-padding.png)](https://www.drupal.org/project/varbase)
## Varbase: The Ultimate Drupal 8 CMS Starter Kit (Bootstrap Ready)
## Varbase: The Ultimate Drupal CMS Starter Kit (Bootstrap Ready)
The powerful Drupal distribution for faster development, with editor experience
in mind. Brought to you by [Vardot](https://www.vardot.com/).
......@@ -17,33 +17,61 @@ in every project.
* Speeds up development.
* Offers standardized configuration and best-practices.
* Comes with a lot of needed functionalities/modules for every-day Drupal site.
* [Tested, tested, and tested.](https://travis-ci.org/Vardot/varbase/builds)
* [Tested, tested, and tested.](https://app.circleci.com/pipelines/github/Vardot/varbase)
Starting a new project? Consider Varbase for Drupal 8.
Installing Varbase 8.x-6.x comes with several extra automated installation
steps, to take full advantage of Varbase, other than the Drupal 8 installation
Starting a new project? Consider **Varbase** for **Drupal 10**.
Installing **Varbase `10.0.x`** comes with several extra automated installation
steps, to take full advantage of Varbase, other than the **Drupal 10** installation
instructions.
# Install with Composer
To install the most recent stable release of Varbase 8.6.x run this command:
To install the most recent stable release of **Varbase `10.0.x`** run this command:
```
composer create-project Vardot/varbase-project:^8.6.2 PROJECT_DIR_NAME --no-dev --no-interaction
composer create-project Vardot/varbase-project:~10 PROJECT_DIR_NAME --no-dev --no-interaction
```
To install the dev version of Varbase 8.6.x run this command:
To install the dev version of **Varbase `10.0.x`** run this command:
```
composer create-project vardot/varbase-project:8.6.x-dev PROJECT_DIR_NAME --stability dev --no-interaction
composer create-project vardot/varbase-project:10.0.x-dev PROJECT_DIR_NAME --stability dev --no-interaction
```
## [Create a new Vartheme sub theme for a project](https://github.com/Vardot/varbase/tree/8.x-6.x/scripts/README.md)
## [Create a new Vartheme sub theme for a project](https://github.com/Vardot/varbase/tree/10.0.x/scripts/README.md)
## [Automated Functional Testing](https://github.com/Vardot/varbase/blob/10.0.x/tests/README.md)
## [Varbase 10.0.x Developer Guide](https://docs.varbase.vardot.com/v/10.0.x)
## [CHANGELOG for Varbase](https://github.com/Vardot/varbase/blob/10.0.x/CHANGELOG.md)
## [Varbase Gherkin features](https://github.com/Vardot/varbase/blob/10.0.x/tests/features/varbase/README.md)
## [Varbase Developer Guide](https://docs.varbase.vardot.com/v/10.0.x/developers)
## [General instructions on how to update Varbase](https://github.com/Vardot/varbase/blob/10.0.x/UPDATE.md)
## [Local development with Lando](https://docs.varbase.vardot.com/v/10.0.x/developers/installing-varbase/installing-varbase-with-lando)
1. Install Lando locally, steps for installing can be found [here](https://docs.lando.dev/basics/installation.html).
2. Run `lando start`.
## Debugging using Lando
- xDebug is enabled on Lando by default for PHP debugging.
- The debugger is set to listen for the port 9003 but can be changed in `.lando/.php.ini`
## [Automated Functional Testing](https://github.com/Vardot/varbase/blob/8.x-6.x/tests/README.md)
## [Local development with DDEV](https://docs.varbase.vardot.com/v/10.0.x/developers/installing-varbase/installing-varbase-with-ddev)
## [Varbase Gherkin features](https://github.com/Vardot/varbase/blob/8.x-6.x/tests/features/varbase/README.md)
1. Install DDEV locally, steps for installing can be found [here](https://ddev.readthedocs.io/en/stable/).
2. Run `ddev start`.
## [Varbase 8.6.x Developer Guide](https://docs.varbase.vardot.com)
## Remote Development Environment (IDE)
> - [Gitpod](https://gitpod.io/#https://github.com/vardot/varbase-project)
> - [Tugboat.qa](https://www.tugboatqa.com)
## [CHANGELOG for Varbase](https://github.com/Vardot/varbase/blob/8.x-6.x/CHANGELOG.md)
Join Our Slack Team for Feedback and Support
http://slack.varbase.vardot.com/
## [General instructions on how to update Varbase](https://github.com/Vardot/varbase/blob/8.x-6.x/UPDATE.md)
Sponsored and developed by [Vardot](https://www.drupal.org/vardot).
# Varbase Update
General instructions on how to update Varbase
Visit https://docs.varbase.vardot.com/updating-varbase for an up-to-date and
further detailed documentation process.
# 1 - Read the release notes to know what had been changed.
# Updating a Varbase Site
For each stable release we will have some notes, and extra steps,
developers need to do to update the last release to the new release.
## Before You Update
# For Example:
* https://www.drupal.org/project/varbase/releases/8.x-6.2
* https://www.drupal.org/project/varbase/releases/8.x-6.1
* https://www.drupal.org/project/varbase/releases/8.x-6.0
Updating Varbase is best done through Composer. We will assume that you have
[installed Varbase the recommended way](../getting-started/installing-varbase.md) through the Composer-based project template [varbase-project](https://github.com/Vardot/varbase-project) by running the command: `composer create-project Vardot/varbase-project YOUR_PROJECT --no-dev --no-interaction`
This will create the Varbase project directory that will look like this:
`/path/to/YOUR_PROJECT` with the Drupal 9 codebase installed via Varbase
installation profile in `/path/to/YOUR_PROJECT/docroot`.
# 2 - Backups
* Backup your project database.
* Backup your project files.
* Test a restore for your backups, to make sure that your backups works.
## The Update Process
# 3 - Get the packaged files for the new version of Varbase 8.5.x
There are two main update processes we will cover. 1\) Automated process
using a tool we've developed to ease the update process for Varbase called
[varbase-updater](https://github.com/Vardot/varbase-updater). 2\) Manual
process if you wish to take matters into your own hands.
* From Drupal website: https://www.drupal.org/project/varbase
* Using varbase-project: https://packagist.org/packages/vardot/varbase-project
# 4 - From your terminal, change directory to the root directory of your
# project to do the update:
# For Example:
```
Given that we do have a project at the /var/www/html/projects/example folder
And we do have our custom themes, features, custom modules in
/var/www/html/projects/example/themes/custom/
/var/www/html/projects/example/modules/custom/
/var/www/html/projects/example/sites/default
so on ...
like contributed modules which we had theme added
while working on the project.
### OPTION 1: Automated Process — Using Varbase Updater
And we opened a terminal console window
And we changed directory to our project folder
cd /var/www/html/projects/example in Linux
When we delete all files and folders, except our changes on Varbase.
Then we will be left with only custom changes
When we copy all Varbase files
And we make sure that we do not have any overridden files or folders
only delete old ones and copy new folder of modules to the same place
```
# 5 - Set the right file permissions.
# 6 - Update composer packages. use "composer outdated"
# $ composer update
Make sure that you do have modules in the right place.
# 7 - Import Varbase Core Features and Bundles:
```
Given that you are logged in with the "webmaster" user
And the "Features" module is enabled
And the "Features UI" module is enabled
When you go to "admin/config/development/features"
Then you should not see any changed features in the Varbase core bundle.
When you click on all "Changed"
Then you will be able to see all changes
And you will be able to import new changes if you need them
```
# 8 - Do your Drupal 8 database updates
* By the terminal "drush updb".
* By the web browser by going to "yousite.domain/update.php"
# 9 - Regression test the full site.
* Done :\)
--------------------------------------------------------------------------------
# Updating Varbase 8.6.1 to Varbase 8.6.2
## Updating files with *Copy and Paste* for Varbase 8.6.1 to Varbase 8.6.2
```
Given that we are at the drupal root folder for varbase
When we delete all drupal core folders and files
And we copy all new Varbase files drupal root folder for varbase
And we make sure that we have all custom module or themes still in the
"sites" folder
And we make sure that all new used modules and features are present.
Then we will be ready to update the active config and database.
```
## Varbase Procedures to update the varbase base code. not in any varbase-project project builders.
```
Given that we are at the root folder for varbase project, not the docroot
And we make sure that the current "Varbase-project" composer.json file and
files are the latest
When we delete the "composer.lock" file
And we delete the "vendor" folder
And we delete the "docroot/modules/contrib" folder
And we delete the "docroot/themes/contrib" folder
And we delete the "docroot/profiles/varbase" folder
And we delete the "docroot/libraries" folder
And we run the "composer require vardot/varbase:8.6.1" command
And wait for composer to finish work
Then we should not see any issues in the terminal
And we should see "Writing lock file" in the terminal
And we should see "Generating autoload files" in the terminal
When the composer finishes work without errors
Then we will be ready to update the active config and database.
```
## Updating the active config and database from Varbase 8.6.1 to Varbase 8.6.2
```
Given that we are in the docroot of the current Varbase project
And all files are updated using (copy and past) or (composer require/update
When we run drush "updb" or go to "/update.php"
Then we should see the steps of updates.
When we run drush "updb" or go to "/update.php" again
Then we will have the site update with the new Varbase 8.6.2 version
When we go to "/admin/config/development/features"
Then we should see "Changed"
When we follow with each feature to import new changes.
Then we will have the Varbase site updated to the latest version.
```
--------------------------------------------------------------------------------
# Updating Varbase 8.6.0 to Varbase 8.6.1
## Updating files with *Copy and Paste* for Varbase 8.6.0 to Varbase 8.6.1
```
Given that we are at the drupal root folder for varbase
When we delete all drupal core folders and files
And we copy all new Varbase files drupal root folder for varbase
And we make sure that we have all custom module or themes still in the
"sites" folder
And we make sure that all new used modules and features are present.
Then we will be ready to update the active config and database.
```
## Varbase Procedures to update the varbase base code. not in any varbase-project project builders.
```
Given that we are at the root folder for varbase project, not the docroot
And we make sure that the current "Varbase-project" composer.json file and
files are the latest
When we delete the "composer.lock" file
And we delete the "vendor" folder
And we delete the "docroot/modules/contrib" folder
And we delete the "docroot/themes/contrib" folder
And we delete the "docroot/profiles/varbase" folder
And we delete the "docroot/libraries" folder
And we run the "composer require vardot/varbase:8.6.1" command
And wait for composer to finish work
Then we should not see any issues in the terminal
And we should see "Writing lock file" in the terminal
And we should see "Generating autoload files" in the terminal
When the composer finishes work without errors
Then we will be ready to update the active config and database.
```
## Updating the active config and database from Varbase 8.6.0 to Varbase 8.6.1
```
Given that we are in the docroot of the current Varbase project
And all files are updated using (copy and past) or (composer require/update
When we run drush "updb" or go to "/update.php"
Then we should see the steps of updates.
When we run drush "updb" or go to "/update.php" again
Then we will have the site update with the new Varbase 8.6.1 version
When we go to "/admin/config/development/features"
Then we should see "Changed"
When we follow with each feature to import new changes.
Then we will have the Varbase site updated to the latest version.
```
--------------------------------------------------------------------------------
# No upgrade path to update Varbase 8.x-5.x to 8.x-6.x yet
You will need to manage a migration, or a hard update process.
https://www.drupal.org/project/varbase/issues/3000529
\ No newline at end of file
If you previously used our Composer-based project template to install
Varbase [varbase-project](https://github.com/Vardot/varbase-project),
complete the following steps to update your codebase’s installed version
of Varbase:
1. From a command prompt window, navigate to your project:
`cd /path/to/YOUR_PROJECT`
2. Run the Varbase update tool. `./bin/update-varbase.sh`
3. Follow the wizard.
_Curious?_ [_Learn more_ ](understanding-varbase-updater-package.md)_about what's going on in the Varbase Updater wizard._
4. Buy yourself a drink! You're done.
5. After the update finishes and you get a success message, navigate to
_http://my.varbase-site.local/admin/config/development/update-helper_
\(where my.varbase-site.local is the URL for your website\) to learn about
the new changes and updates introduced in your Varbase site.
At the end of the update process, two log files are useful to troubleshoot
your update:
* `varbase_update_error.log`: a log of all errors that occurred during the
update process.
* `varbase_failed_patches.log`: a log of all patches that failed to apply
during the update process.
### OPTION 2: Manual Process — Do it Yourself
1. From a command prompt window, navigate to your project:
`cd /path/to/YOUR_PROJECT`
2. Edit your _composer.json_ file to be ready for updates. You have two choices.
Edit your _composer.json_ to include
all the new updates made in
[varbase-project](https://github.com/Vardot/varbase-project/blob/10.0.x/composer.json).
This includes the new components required and its versions
_"require"_, _"repositories"_, _"extra"_, and any other important config.
You can use a diff tool such as [Meld](http://meldmerge.org/) or
[DiffMerge](https://sourcegear.com/diffmerge/) to help you diff between
your old _composer.json_ and the new one from
[varbase-project](https://github.com/Vardot/varbase-project/blob/10.0.x/composer.json).
3. Back up your code and database
4. Execute Composer update to download updates to modules and libraries.
`composer update`
5. Run your database updates. `drush updatedb` or by navigating
to _http://my.varbase-site.local/update.php_
\(where _my.varbase-site.local_ is the URL for your website\) and
follow the on-screen instructions.
6. After the update finishes and you get a success message, navigate
to _http://my.varbase-site.local/admin/config/development/update-helper_
\(where _my.varbase-site.local_ is the URL for your website\) to learn
about the new changes and updates introduced in your Varbase site.
default:
suites:
default:
autoload:
'': %paths.base%/tests/features/bootstrap
contexts:
- VarbaseContext:
parameters:
varbase_users:
webmaster: { email: 'webmaster@vardot.com', password: 'dD.123123ddd' }
- SelectorsContext:
parameters:
files_path: "%paths.base%/selectors/"
files:
- "varbase/installation-selectors.yml"
- Drupal\DrupalExtension\Context\DrupalContext
- Drupal\DrupalExtension\Context\DrushContext
- Drupal\DrupalExtension\Context\MessageContext
- Drupal\DrupalExtension\Context\MinkContext
- Drupal\DrupalExtension\Context\MarkupContext
- Drupal\DrupalExtension\Context\BatchContext
- behatch:browser:
timeout: 1
- behatch:debug:
screenshotDir: "%paths.base%/tests/screenshots/"
- behatch:json:
evaluationMode: javascript
- behatch:rest
- behatch:system:
root: "../../"
- behatch:table
- behatch:xml
filters:
tags: "@install"
paths:
features: %paths.base%/tests/tools
bootstrap: %paths.base%/tests/features/bootstrap
formatters:
pretty:
html:
output_path: "%paths.base%/tests/reports/"
extensions:
Behat\MinkExtension:
files_path: "%paths.base%/tests/assets/"
goutte: ~
zombie: ~
selenium2:
wd_host: 127.0.0.1:4445/wd/hub
capabilities:
browser: 'firefox'
# browser: 'chrome'
# browser: 'phantomjs'
nativeEvents: true
base_url: http://127.0.0.1:8080
browser_name: 'firefox'
# browser_name: 'chrome'
# browser_name: 'phantomjs'
javascript_session: selenium2
Drupal\DrupalExtension:
blackbox: ~
Sanpi\Behatch\Extension: ~
emuse\BehatHTMLFormatter\BehatHTMLFormatterExtension:
name: html
renderer: Twig,Behat2
file_name: index
print_args: false
print_outp: false
loop_break: false
imports:
- behat.varbase.yml
default:
suites:
default:
paths:
features: %paths.base%/tests/tools
\ No newline at end of file
default:
autoload:
'': %paths.base%/tests/features/bootstrap
suites:
default:
paths:
- %paths.base%/tests/features
contexts:
- VarbaseContext:
parameters:
varbase_users:
webmaster: { email: 'webmaster@vardot.com', password: 'dD.123123ddd' }
test_authenticated: { email: 'authenticated.test@vardot.com', password: 'dD.123123ddd' }
test_editor: { email: 'editor.test@vardot.com', password: 'dD.123123ddd' }
test_content_admin: { email: 'content.admin.test@vardot.com', password: 'dD.123123ddd' }
test_seo_admin: { email: 'seo.admin.test@vardot.com', password: 'dD.123123ddd' }
test_site_admin: { email: 'site.admin.test@vardot.com', password: 'dD.123123ddd' }
test_super_admin: { email: 'super.admin.test@vardot.com', password: 'dD.123123ddd' }
- SelectorsContext:
parameters:
selectors:
## Add all css selectors which you will use in most features.
css:
breadcrumb: ".breadcrumb"
breadcrumb first link: ".breadcrumb li:nth-child(1) a"
image button in rich text editor body field: "#cke_edit-body-und-0-value .cke_button__image"
## Add all XPath selectors which you will use in most features.
xpath:
page title: '//h1[contains(@class, "page-header")'
textarea for body field: '//*[@id="edit-body-und-0-value"]'
rich text editor for body field: '//iframe[@title="Rich Text Editor, edit-body-und-0-value"]'
HTML editor for body field: '//*[@id="edit-body-und-0-value-aced"]'
## You can add list of selectorrs which you will use in most features.
# But by loading them from files.
files_path: "%paths.base%/tests/selectors/"
files:
- "varbase/front-end-selectors.yml"
- "varbase/back-end-selectors.yml"
- Drupal\DrupalExtension\Context\DrupalContext
- Drupal\DrupalExtension\Context\DrushContext
- Drupal\DrupalExtension\Context\MessageContext
- Drupal\DrupalExtension\Context\MinkContext
- Drupal\DrupalExtension\Context\MarkupContext
- behatch:context:browser:
timeout: 4
- behatch:context:debug:
screenshotDir: "%paths.base%/tests/screenshots/"
- behatch:context:json:
evaluationMode: javascript
- behatch:context:system:
root: "../../"
- behatch:context:table
- behatch:context:xml
paths:
features: %paths.base%/tests/features
bootstrap: %paths.base%/tests/features/bootstrap
formatters:
pretty:
html:
output_path: "%paths.base%/tests/reports/"
extensions:
Behat\MinkExtension:
files_path: "%paths.base%/tests/assets/"
goutte: ~
zombie: ~
selenium2:
wd_host: 127.0.0.1:4445/wd/hub
capabilities:
# browser: 'firefox'
browser: 'chrome'
# browser: 'phantomjs'
nativeEvents: true
base_url: 'http://127.0.0.1:8080'
# browser_name: 'firefox'
browser_name: 'chrome'
# browser_name: 'phantomjs'
javascript_session: selenium2
Drupal\DrupalExtension:
blackbox: ~
api_driver: 'drupal'
region_map:
content: ".main-container"
footer: "#footer"
left header: "#header-left"
right header: "#header-right"
right sidebar: "#aside-region"
field body: "#edit-body-wrapper"
selectors:
message_selector: '.messages'
error_message_selector: '.messages.error'
success_message_selector: '.messages.status'
warning_message_selector: '.messages.warning'
Behatch\Extension: ~
emuse\BehatHTMLFormatter\BehatHTMLFormatterExtension:
name: html
renderer: Twig,Behat2
file_name: index
print_args: false
print_outp: false
loop_break: false
imports:
- behat.varbase.yml
default:
autoload:
'': "%paths.base%/tests/features/bootstrap"
suites:
default:
paths:
- "%paths.base%/tests/features"
contexts:
- VarbaseContext:
parameters:
varbase_users:
webmaster: { email: 'webmaster@vardot.com', password: 'dD.123123ddd' }
Normal user: { email: 'test.authenticated@vardot.com', password: 'dD.123123ddd' }
Editor: { email: 'test.editor@vardot.com', password: 'dD.123123ddd' }
Content admin: { email: 'test.content_admin@vardot.com', password: 'dD.123123ddd' }
SEO admin: { email: 'test.seo_admin@vardot.com', password: 'dD.123123ddd' }
Site admin: { email: 'test.site_admin@vardot.com', password: 'dD.123123ddd' }
Super admin: { email: 'test.super_admin@vardot.com', password: 'dD.123123ddd' }
- Drupal\DrupalExtension\Context\ConfigContext
- Drupal\DrupalExtension\Context\DrupalContext
- Drupal\DrupalExtension\Context\DrushContext
- Drupal\DrupalExtension\Context\MessageContext
- Drupal\DrupalExtension\Context\MinkContext
- Drupal\DrupalExtension\Context\MarkupContext
- Drupal\DrupalExtension\Context\RandomContext
formatters:
pretty:
verbose: true
paths: false
snippets: false
html:
verbose: true
paths: false
snippets: false
output_path: "%paths.base%/tests/reports/"
extensions:
Drupal\MinkExtension:
base_url: http://varbase.test
browser_name: chrome
default_session: selenium2
javascript_session: selenium2
ajax_timeout: 120
files_path: "%paths.base%/tests/assets/"
selenium2:
browser: chrome
wd_host: 'http://127.0.0.1:4445/wd/hub'
capabilities:
browser: chrome
browserName: chrome
extra_capabilities:
chromeOptions:
w3c: true
args:
- "--headless"
- "--start-maximized"
- "--disable-gpu"
- "--window-size=1600,1200"
- "--no-sandbox"
- "--disable-dev-shm-usage"
- "--disable-setuid-sandbox"
- "--disable-web-security"
- "--DNS-prefetch-disable"
- "--disable-translate"
- "--ignore-certificate-errors"
- "--test-type"
- "--disable-extensions"
- "--incognito"
- "--disable-infobars"
- "--remote-debugging-port=9222"
- "--allowed-ips=*"
- "--whitelisted-ips=*"
- "--allow-insecure-localhost"
Drupal\DrupalExtension:
blackbox: ~
api_driver: 'drupal'
drush:
alias: 'local'
drupal:
drupal_root: '/var/www/html/test/varbase/docroot'
region_map:
content: ".main-container"
footer: "#footer"
left header: "#header-left"
right header: "#header-right"
right sidebar: "#aside-region"
field body: "#edit-body-wrapper"
selectors:
message_selector: '.messages'
error_message_selector: '.messages.error'
success_message_selector: '.messages.status'
warning_message_selector: '.messages.warning'
webship\BehatHTMLFormatter\BehatHTMLFormatterExtension:
name: html
renderer: Twig,Behat2
file_name: index
print_args: false
print_outp: false
loop_break: false