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

v0.9.0 Release Checklist #377

Closed
6 tasks done
rickmanelius opened this issue Jul 5, 2017 · 6 comments
Closed
6 tasks done

v0.9.0 Release Checklist #377

rickmanelius opened this issue Jul 5, 2017 · 6 comments
Assignees
Milestone

Comments

@rickmanelius
Copy link
Contributor

rickmanelius commented Jul 5, 2017

Remaining actions:

  • Review release (product owner)
  • Approve release (product owner and release manager)
  • Create binaries (any DRUD maintainer)
  • Draft release notes (release manager)
  • Draft additional announcements for blog, newsletter, etc (not applicable at the moment)
  • Create release (release manager)

For additional background information, please see our Product Release instructions here.

@rickmanelius rickmanelius added this to the v0.9.0 milestone Jul 5, 2017
@rickmanelius rickmanelius self-assigned this Jul 5, 2017
@rickmanelius
Copy link
Contributor Author

Saving a snapshot of my pre-review starting point.

ddev v0.9 Review

Executive Summary

Based on the following analysis, ddev v0.9.0 is NOT ready for release.

Milestone Overview (Performance)

@todo: Pull from roadmap.

Testing

Performed by Rick Manelius as of @todo

Hardware Setup

I’m using a laptop with the following high-level specifications:

  • MacBook Pro: Retina 15-inch Mid 2015
  • 2.2 Ghz Intel Core i7
  • 16 GB 1600 MHz DDR3 RAM
  • 250 GB Hard Drive
  • macOS Sierra 10.12.4

Software Setup

  • Xcode
  • Go 1.8.1
  • Docker 17.06.0-ce-rc1
  • Git 2.11.0

Repositories Used

Results

Actively Testing

Works

Fails

Decisions

Based on the following analysis, ddev v0.9.0 is NOT ready for release.

Recommendations

@rickmanelius
Copy link
Contributor Author

With the Pantheon plugin approved, this review will begin early next week.

@rickmanelius
Copy link
Contributor Author

One review done. Working on the next and final component for v0.9.0

  • Create Strategy for Pre/Post Hook Functionality drud/ddev issues #183
    • rm -rf .ddev within the drupal-kickstart repo.
    • rm docroot/sites/default/settings.php
    • ddev config with defaults
      • ISSUE. With the Pantheon Plugin in place, users are always instructed "Configuration complete. You may now run ddev start or ddev pull". Without Pantheon as a provider, there is no ability to run a ddev pull.
    • Confirmed that more .ddev/config.yml includes a link to https://ddev.readthedocs.io/en/latest/users/extending-commands/
    • Confirmed that a default Drupal post-import-db entry is there and commented out.
    • Confirmed that a default WordPress app has a WordPress specific set of commands.
    • Ran ddev import-db --src ~/Downloads/db.tar.gz --extract-path kickstart.sql
    • Confirmed import worked as expected.
    • Uncommented the example command and re-ran the import.
    • Confirmed the drush command worked by observing the following:
      • Executing post-import commands...
      • --- Runing exec command: drush cc all ---
      • 'all' cache was cleared. [success]
      • --- post-import-db exec command succeeded ---
      • Successfully imported database for drupal-kickstart
    • Created a bad post-hook task by renaming "exec" to "exec2" and re-running the import.
      • Observed a correct faile: "Failed to import database: invalid configuration in /Users/rmanelius/git/drupal-kickstart/.ddev/config.yaml: invalid task 'exec2' defined for post-import-db hook in config.yaml"
    • CONFIRMED

@rickmanelius
Copy link
Contributor Author

ddev v0.9 Review

Executive Summary

Based on the following analysis, ddev v0.9.0 is ready for release.

Milestone Overview (Performance)

The intention of this milestone is to provide a functional provider plugin and pre/post hook functionality. Key aspects here include authentication, changes to app configuration files, storage of provider specific configuration, and the ability to import data (files and database) from one of multiple environments. Areas of focus include:

  • Pre/Post Hook Implementation and Documentation
  • Pantheon Plugin and Documentation

Testing

Performed by Rick Manelius as of @todo

Hardware Setup

I’m using a laptop with the following high-level specifications:

  • MacBook Pro: Retina 15-inch Mid 2015
  • 2.2 Ghz Intel Core i7
  • 16 GB 1600 MHz DDR3 RAM
  • 250 GB Hard Drive
  • macOS Sierra 10.12.4

Software Setup

  • Xcode
  • Go 1.8.1
  • Docker 17.06.0-ce-rc1
  • Git 2.11.0

Repositories Used

Preparation

  • ddev
    • git checkout 0223e2f9
    • make clean && make darwin
    • ddev version
      • v0.8-17-g0223e2f9

Results

Works

  • Create Strategy for Pre/Post Hook Functionality drud/ddev issues #183
    • rm -rf .ddev within the drupal-kickstart repo.
    • rm docroot/sites/default/settings.php
    • ddev config with defaults
      • ISSUE. With the Pantheon Plugin in place, users are always instructed "Configuration complete. You may now run ddev start or ddev pull". Without Pantheon as a provider, there is no ability to run a ddev pull.
    • Confirmed that more .ddev/config.yml includes a link to https://ddev.readthedocs.io/en/latest/users/extending-commands/
    • Confirmed that a default Drupal post-import-db entry is there and commented out.
    • Confirmed that a default WordPress app has a WordPress specific set of commands.
    • Ran ddev import-db --src ~/Downloads/db.tar.gz --extract-path kickstart.sql
    • Confirmed import worked as expected.
    • Uncommented the example command and re-ran the import.
    • Confirmed the drush command worked by observing the following:
      • Executing post-import commands...
      • --- Runing exec command: drush cc all ---
      • 'all' cache was cleared. [success]
      • --- post-import-db exec command succeeded ---
      • Successfully imported database for drupal-kickstart
    • Created a bad post-hook task by renaming "exec" to "exec2" and re-running the import.
      • Observed a correct faile: "Failed to import database: invalid configuration in /Users/rmanelius/git/drupal-kickstart/.ddev/config.yaml: invalid task 'exec2' defined for post-import-db hook in config.yaml"
    • CONFIRMED
  • MVP Integration w/Pantheon drud/ddev issues #216
    • Previous Reviews
    • Cleanup
      • ddev rm pantheon-site
      • rm ~/git/pantheon-site
      • rm -rf ~/.ddev/pantheon-site
      • rm -rf ~/.ddev/pantheon
      • rm ~/.ddev/pantheonconfig.json
    • Downloaded a pantheon repo via git clone method.
    • Attempted a ddev config pantheon and was shown the following VALID error message:
      • "No saved session could be found and the environment variable DDEV_PANTHEON_API_TOKEN is not set. Please use ddev auth-pantheon or set a DDEV_PANTHEON_API_TOKEN. https://pantheon.io/docs/machine-tokens/ provides instructions on creating a token."
    • Attempted ddev auth-pantheon and received the following VALID error message:
    • Attempted ddev auth-pantheon INVALIDTOKEN and received the following VALID error message:
      • "Could not authenticate with pantheon: 500 Internal Server Error: 500"
    • Attempted ddev auth-pantheon VALIDTOKEN and received the following SUCCESS:
      • Authentication successful! You may now use the ddev config pantheon command when configuring sites!
    • Re-ran ddev config pantheon
      • Input normal config options
      • Attempted at putting an incorrect environment and was prompted to re-submit until I selected a valid one.
      • Saw follow-up instructions on ddev start and ddev pull
    • Ran ddev pull
      • Saw valid warning: "You're about to delete the current database and files and replace with a fresh import. Would you like to continue (y/N): y"
        • Technically we could check to see if a DB actually existed before warning, but this is not mission critical.
      • Saw download status for files and db.
      • Saw a message "Generating settings.local.php file for database connection."
      • Saw a message regarding my site being available at a particular URL.
    • Attempted to visit the site at the URL provided and received a 500/501 error page.
      • As discussed in the PR, my site had a committed settings.php file.
      • Adding "if (file_exists(DRUPAL_ROOT . '/' . conf_path() . '/settings.local.php')) { include DRUPAL_ROOT . '/' . conf_path() . '/settings.local.php'; }" to the end of settings.php corrects for this.
      • ISSUE: It might be worthwhile to overwrite the temp file system directory in settings.local.php. By default I was getting a lot of errors akin to "Warning: file_put_contents(temporary://fileYOhv8u): failed to open stream: "DrupalTemporaryStreamWrapper::stream_open" call failed in file_unmanaged_save_data() (line 1942 of /var/www/html/includes/file.inc)."
    • CONFIRMED

Decisions

Based on the following analysis, ddev v0.9.0 is ready for release.

Recommendations

These are two very large features, which had an extensive amount of testing, reviews, suggestions, etc. Rather than replicate them, please visit the original issues and submitted PRs. In addition, here are the new items that came up.

  • Provider Plugin Assumption. Now when ddev config is run, there is a success message that suggests users to run ddev pull when that is inappropriate for a stock local dev site. We need to both change the message and prevent a ddev pull from running when it's not in scope for the particular application.
  • settings.local.php. We may want to override the temp file directory so that things like compressed CSS and JS doesn't error out on import/pull.

@rickmanelius
Copy link
Contributor Author

@cyberswat This is ready for release!

@cyberswat
Copy link
Contributor

I believe this is complete.

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

No branches or pull requests

2 participants