Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Travis CI Memcache Service and Settings #3082

Merged
merged 4 commits into from
Sep 9, 2018
Merged

Conversation

lcatlett
Copy link
Contributor

@lcatlett lcatlett commented Sep 8, 2018

Fixes #3077

Changes proposed:

Start the memcache service on Travis and add the memcached.so php extension to php.ini to allow for using memcache in Travis. Enable memcache for CI if the service is available.

Note: In looking over the travis config, it doesnt look like apc is installed or configured which may impact this work. I will open a separate issue if it looks like there is a bug.

Steps to test

  1. Start travis build
  2. Observe that memcache successfully started in the logs which should have output such as:
* memcached.service - memcached daemon
   Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-09-07 18:42:58 UTC; 21h ago
 Main PID: 894 (memcached)
   CGroup: /system.slice/memcached.service
           `-894 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -c 1024

Sep 07 18:42:58 local systemd[1]: Started memcached daemon.

settings/cache.settings.php Outdated Show resolved Hide resolved
@ba66e77
Copy link
Contributor

ba66e77 commented Sep 8, 2018

I see the sudo call to memcache in the build logs, but not the expected output.

The other thing I see is that even though they all passed, each of the builds contain

In Connection.php line 686:
                                                                               
  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'drupal.key_value  
  ' doesn't exist: DELETE FROM {key_value}                                     
  WHERE (name IN (:db_condition_placeholder_0)) AND (collection = :db_conditi  
  on_placeholder_1); Array                                                     
  (                                                                            
      [:db_condition_placeholder_0] => drupal_css_cache_files                  
      [:db_condition_placeholder_1] => state                                   
  )                                                                            
                                                                               
In Statement.php line 59:
                                                                               
  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'drupal.key_value  
  ' doesn't exist                                                              
                                                                               

@lcatlett
Copy link
Contributor Author

lcatlett commented Sep 9, 2018

@ba66e77 - for whatever reason the output of that service status command is different on my local Travis. On the live BLT builds it simply outputs:

0.02s$ sudo service memcached status
sudo service memcached status 
 * memcached is running

Looking for the above such as in https://travis-ci.org/acquia/blt/jobs/426141628#L595-L597 shows that memcache is running as expected now.

It looks like the SQLSTATE[42S02]: Base table or view not found: 1146 errors,` were not introduced by this PR and are occuring in every build including the latest release: https://travis-ci.org/acquia/blt/jobs/426199082#L1332-L1348

In looking through the full logs I noticed that the builds with the above error have a second issue with phpunit tests but it isnt flagged as an error (see https://travis-ci.org/acquia/blt/jobs/426199082#L956-L958);

Warning: include(../../scripts/phpunit/bootstrap.php): failed to open stream: No such file or directory in /home/travis/build/acquia/blt/tests/phpunit/bootstrap.php on line 8
Warning: include(): Failed opening '../../scripts/phpunit/bootstrap.php' for inclusion (include_path='.:/home/travis/.phpenv/versions/7.1.11/share/pear') in /home/travis/build/acquia/blt/tests/phpunit/bootstrap.php on line 8
PHP Warning:  include(../../scripts/phpunit/bootstrap.php): failed to open stream: No such file or directory in /home/travis/build/acquia/blt/tests/phpunit/bootstrap.php on line 8
PHP Warning:  include(): Failed opening '../../scripts/phpunit/bootstrap.php' for inclusion (include_path='.:/home/travis/.phpenv/versions/7.1.11/share/pear') in /home/travis/build/acquia/blt/tests/phpunit/bootstrap.php on line 8
Bootstrapping BLT testing framework...
To prevent recreation of sandbox master on each bootstrap, set BLT_RECREATE_SANDBOX_MASTER=0
Creating master sandbox in /tmp/blt-sandbox-master...
Loading composer repositories with package information

I don't know if these issues are somehow related but I will create bugs to investigate separately since they weren't introduced by the changes in this PR

@ba66e77
Copy link
Contributor

ba66e77 commented Sep 9, 2018

Wow, you're right. I've traced those messages in the logs as far back as the 9.1.1 release. I've created #3084 to track investigating.

@ba66e77 ba66e77 merged commit c7fd89c into acquia:9.2.x Sep 9, 2018
mikemadison13 pushed a commit that referenced this pull request Dec 14, 2018
* Test against Drupal 8.6.x-dev. (#2937)

* Updating versions of Drupal core and Lightning. (#3061)

* Updating CHANGELOG.md and setting version for 9.2.0-alpha1.

* Fixes #3055: Update memcache settings to match changes in Drupal memcache module. (#3058) (#3067)

* Require drupa/memcache equal or greater than 2.0-alpha7.
* Updating memcache settings based on change in drupal/memcache module.

* Allow PHPUnit to bootstrap from core. (#3071)

* Clarified Git hook documentation. (#3073)

* Finished updating memcache config for alpha7. (#3076)

* Finished updating memcache config for alpha7.
* Locking drupal/memcache to 2.0-alpha7 until memcache stabilizes.

* Updating CHANGELOG.md and setting version for 9.2.0-alpha2.

* Travis CI Memcache Service and Settings (#3082)

* Start memcached service and add php extension.
* Check status of memcached service.
* Use blt memcache config on CI.

* Run simplesaml config command on all composer calls. (#3051)

* Update local-development.md (#3087)

Correcting links to PHPStorm documentation on Acquia's documentation service.

* Remove memcache.yml and references to it. (#3093) (#3094)

* Cherry-pick in lost/abandoned commits from 9.x (#3072)

* VM setup tips (#3036)

* Update local-development.md to reference committing DrupalVM files.

* New guidelines for contribution. (#3045)

* Adding replication and verification step sections and clean up formatting.

* Adding new guidelines for PRs to the CONTRIBUTING docs.

* Fixes #2964: When manually deploying using a tag also push that tag to source repo. (#2992)

* Adding a cutSourceTag method and invoking when deploying tag.

* Set default deploy.tag_source config setting and check it when deploying.

* Refactoring to use a single cutTag method.

* Remove line about expectation you already have a tag on your source before you tag a release.

* Warn if user is creating a tag but tag_source option is false.

* Updating deploy documentation.

* Fixes #3053: Update requirement to drush/drush:^9.4.0. (#3078)

* Fixes #3065: Use webflo/drupal-core-require-dev instead of tracking core dev dependencies. (#3068)

* Use core's PHPUnit bootstrap file. (#3092)

* amotic -> atomic (#3098)

Fixed minor typo in code review docs.

* Support memcache on ACSF via flags. (#3096)

* Remove support for PHPUnit 5. (#3102)

* Run validation without interaction on CI. (#3070) (#3097)

* Fixes #3046: Cleaned up Pipelines docs. (#3104)

* Exclude the 'sites/settings' dir for the default list of sites. (#2994) (#3105)

Force-approving this based on the same code's approval on the 9.x branch.

* Updating CHANGELOG.md and setting version for 9.2.0-alpha3.

* Update config_split.config_split.ci.yml (#3129)

* Update README.md (#3113)

* Minor variable / comment refactor. (#3111)

* Fix the link of Memcache documentation page. (#3135)

* Remove PHP 5.6 from the list of tested versions. (#3137)

* Fixes #2945 by removing cloud hook exception for ACSF. (#2946)

* Fixes #2945: removing exception for cloud hooks on ACSF.
* Cleaning up variable use in db scrub hook.
* Adding ACSF check to post deploy and makes db scrub consistent with others.

* updating blt docs to cover ACSF memcache use. (#3136)

* Fix INSTALL.md installation directions for Drush Launcher. (#3127)

* Fixes #3118: Update theme path to more standardized D8 defaults. (#3119)

* Resolves #3106: Add 'skip_permissions_hardening' setting to local settings file template (#3107)

* Update support policies (#3147)

* Update support policies

* Update README.md

* Fix PHP syntax error in acquia simplesamlphp config. (#3141)

* 3149: Minor grammar fix (#3150)

* Fixed travis output. (#3151)

* Travis shouldn't duplicate Drupal 8.6 tests (#3152)

* Travis should test Drupal 8.7.

* Disable 8.7 tests.

* Updating CHANGELOG.md and setting version for 9.2.0.

* Prevent cache collisions in multisite db-update tasks (#3166)

* Add drush cache dir utility script.

* Enhanced Factory Hook to isolate db-update tasks to tempoary drush cache.

* Update Factory Hooks from BLT template.

* Remove redundant cache clear and rebuild to preserve drush context of current request.

* Style tweaks and setting update version number to 9.2.

* Prevent cache collisions in multisite install tasks (#3171)

* Refactor post-install hook to use temp cache dir per site, use requests instead of ENV.

* Refresh Factory Hooks from template for 9002001.

* Update version number for hook.

* Remove redundant factory hook update.

* Removed unused use statements.

* Style and phpcs updates.

* Update BLT settings for site and http/proxy detection (#3172)

* Fix auto detection of sites dir due to core changes.

* Update proxy and host detection for core updates and Acquia VCL changes.

* PHPCS fixes.

* Update deploy.md with correct Cloud Hooks links. (#3188)

The Acquia docs link pointed to a stale page and the BLT one pointed to the 8.x branch, both throwing 404's. I've updated both to point to the latest iterations of each page.

* Update to Drupal Coder 8.3.x. (#3132)

Fixes #2289 
--------

Changes proposed:
---------
(What are you proposing we change?)

- Update composer contraint on Drupal Coder newest release (8.3.1 as of this date)
- Update composer constraint on squizlabs/php_codesniffer to 3.0.1 (matching Coder)
- Remove the use of a bootstrap file with PHPCS. File paths that are not allowed by filesets won't be sniffed by default.
- Add a tests:phpcs:sniff:modified command to sniff unstaged modified or added files in repo for convenience.

* Updating CHANGELOG.md and setting version for 9.2.1.

* Merge tag '9.1.7' of github.com:acquia/blt

* PHP CS fixes.

* Restrict lightning version constraint to 8.5x.

* Revert coder to older version.

* Revert required and suggested composer merge plugin config.

* Update RoboFile.php

* Fix default drush local multisite alias bug causing test failures.

* Fix multisite test alias bug.

* Revert "Update to Drupal Coder 8.3.x. (#3132)"

fccd0d0

* Update hooks and phpcs config.

* BLT Backport of 9.2 to 9x (#3280)

* Fix comment formatting in PhpUnitCommand. (#3211)

* Fixes #3063 by updating faq and install docs to improve install profile instructions. (#3064)

* [9.2.x] Fix undefined trusted_reverse_proxy_ips #3214 (#3215)

Fixes #3214 
--------

Changes proposed:
---------
(What are you proposing we change?)

- check if trusted_reverse_proxy_ips is defined as an array
- if not, set an empty array

Steps to replicate the issue:
----------
(If this PR is not fixing a defect/bug, you can remove this section.)

1. blt setup
2. bootstrap drupal

Steps to verify the solution:
-----------
(How does someone verify that this does what you think does?)

1. apply the patch
2. blt setup / bootstrap Drupal
3. check to ensure following warning does not appear:

```
Warning: in_array() expects parameter 2 to be array, null given in require() (line 27 of /app/vendor/acquia/blt/settings/blt.settings.php).
require('/app/vendor/acquia/blt/settings/blt.settings.php') (Line: 806)
require('/app/docroot/sites/naswa_main/settings.php') (Line: 125)
Drupal\Core\Site\Settings::initialize('/app/docroot', 'sites/naswa_main', Object) (Line: 1056)
Drupal\Core\DrupalKernel->initializeSettings(Object) (Line: 655)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
```

* Fixes #3185 to bring install and local docs inline. (#3186)

* Fixing updates 9002000 message. (#3205)

* Fixing missing semi-colon at end of line. (#3208)

* Fixes #3243 to clean up dry-run in deploy command. (#3263)

* Multisite bugfixes (#3231)

* Fix multisite test alias bug.

* Fix default drush local multisite alias bug causing test failures.

* Fix global varible scope and phpcs syntax.

* Update variable names and fix phpcs validation errors..

* Add missing phpunit-bridge package.

* Add BLT update hook for 9.1.9 release.

* Update version for 9.1.9 release.

* Revert "Lock core in 9.x branch to 8.5.6. (#3062)"

b2e0bcf

* Use assertions to resolve build failures due to phpunit 'risky tests' notice.

* Revert travis backports to debug build.

* Ensure minimum of dmore/chrome-mink-driver 2.5.0.

* Remove duplicate update hook.

* Removing changes from composer files.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants