Ddev: v0.17.0 Release Checklist Due 2018-04-05

Created on 28 Mar 2018  路  20Comments  路  Source: drud/ddev

Remaining actions:

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

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

actionable needs automated tests needs docs

Most helpful comment

I assume the most likely high-profile item in this release will be multiple hostname access.

All 20 comments

I assume the most likely high-profile item in this release will be multiple hostname access.

Yes at this time I have 4 issues tagged (https://github.com/drud/ddev/milestone/28). The multiple hostname item, two documentation items, and there was the open issue regarding testing that might be useful to evaluate and see if it makes sense to push off or not.

I'm going to assume we will do a release post about this release. Unless you mention otherwise. Talk to you Tuesday about it!

@nearlythere There may be times where we optionally post or not. Sometimes there is a lot of noteworthy things and others there is a bucket of useful things but nothing that requires a specific call out. Perhaps we default to an article but if it looks like it's not significant from end-user value we punt.

@rickmanelius fair enough. we have a couple of posts coming out next week anyway ;)

ddev v0.17.0 Review

Executive Summary

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

Milestone Overview (Multiple Hostnames & Stability)

There were 4 key items addressed in this release:

Additionally, there are a lot of ongoing documentation changes that will be released during/after the binary release.

Testing

Performed by Rick Manelius as of 2018-04-04

Hardware Setup

I鈥檓 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.9
  • Docker Version 18.03.0-ce-mac60 (23751)
  • Git 2.14.3

Repositories Used

Preparation

  • ddev

    • git checkout f5c1123a

    • make clean && make darwin

    • ddev version => v0.16.0-8-gf5c1123a (matches SHA)

Results

Works

  • Fix Database Corruption Issue

    • Technically, I wasn't able to recreate the regression, but the change seems sane.

    • If I need to, I can fake a 1GB DB with Devel Generate for D7 and then import.

    • PASS

  • Multi Hostname Support

    • Fresh Drupal 7.58 site (no db, no settings, no config)

    • Run without additional host entries and I can confirm ddev list and ddev describe work as per usual.

    • I note "additional_hostnames: []" in .ddev/config.yml

    • For shits, I added an entry for the project name (drupal-7.58) and re-ran ddev start

    • FAILS: Failed to start drupal-7.57: ddev-router failed to become ready: health check timed out



      • Removing this brings the router back.



    • Add 1 unique entry

    • WORKS

    • Add 12 unique entries

    • WORKS

    • Terminal does blow up with 12 entries for both HTTP/HTTPS, which is neat :)

    • Add 12 unique entries + 1 duplicate from another project

    • FAILS: Router doesn't come up

    • CONFIRMED

    • Ultimately, a user shouldn't put in duplicate entries.

    • RECOMMENDATION: We check for duplicates and warn that ddev start will fail

  • Add import-files Failsafe

    • Drupal 6.38

    • Clean Repo w/no database or settings file.

    • Standard ddev config and ddev start

    • Verified database and site working

    • Ran ddev import-files --src files.tar --extract-path /sites/default/

    • CONFIRMED that I received "No upload directory has been specified for the project type drupal6"

    • Backdrop 1.9.3

    • Clean repo w/no database or settings file

    • Ran ddev import-files --src ~/tmp/files.tar --extract-path /sites/default/

    • CONFIRMED that I received "No upload directory has been specified for the project type backdrop"

    • TYPO3 8.7.10

    • Clean repo w/no database or settings file

    • Ran ddev import-files --src ~/tmp/files.tar --extract-path /sites/default/

    • CONFIRMED that I received "No upload directory has been specified for the project type typo3"

    • Drupal 7.58

    • Clean repo w/no database or settings file

    • Ran ddev import-files --src ~/tmp/files.tar --extract-path /sites/default/

    • Import said it worked, but this still needs refactoring.

    • RECOMMENDATION

    • We still need to prioritzed #666 for the non-failsafe protected projecttypes.

  • Put Web Container Internal Back to Port 80

    • Fresh Drupal 7.58 (no db, no settings.php, no .ddev folder)

    • mkdir junker && touch junker/index.html

    • Standard ports => .local/junker/index.html is accessible over HTTP/HTPS

    • Non-standard ports => .local/junker/index.html is accessible over HTTP/HTPS

    • CONFIRMED

Decisions

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

Recommendations

  • Documentation: While we added documentation within .ddev/config.yml, I don't see any docs in our main documentation. It might be worth calling out there.
  • Hostname Collisions: I think we might want to at least attempt to review the router entries to determine if it's going to time out versus just letting it timeout. We can then provide instructions on how to fix rather than just leaving the end-user with a time out.

I just finished the Internal Port 80 feature, and noting a small regression in that the port overrides are not listed in the output after ddev start. ddev list and ddev config are working.

  • Put Web Container Internal Back to Port 80

    • Fresh Drupal 7.58 (no db, no settings.php, no .ddev folder)

    • mkdir junker && touch junker/index.html

    • Standard ports => .local/junker/index.html is accessible over HTTP/HTPS

    • Non-standard ports => .local/junker/index.html is accessible over HTTP/HTPS

    • NEEDS WORK

    • I'm noting that ddev describe and ddev list show the proper port overrides, but the initial "Your Project Can Be Reached" text doesn't have ports.

I'm noting that ddev describe and ddev list show the proper port overrides, but the initial "Your Project Can Be Reached" text doesn't have ports

Good catch, so great to have fresh eyes... no work was done in that area I don't think, so the regression was probably earlier. Maybe it never got in there properly?

@rfay Correct! I may have missed it before assuming that ddev list and the initial output were effectively the same. I noted it this time so it's probably worth addressing so as to not confuse a user that just happens to catch it.

I think this still falls in the "pass" bucket, but I'll leave it as a recommendation.

  • Add import-files Failsafe

    • Drupal 6.38

    • Clean Repo w/no database or settings file.

    • Standard ddev config and ddev start

    • Verified database and site working

    • Ran ddev import-files --src files.tar --extract-path /sites/default/

    • CONFIRMED that I received "No upload directory has been specified for the project type drupal6"

    • Backdrop 1.9.3

    • Clean repo w/no database or settings file

    • Ran ddev import-files --src ~/tmp/files.tar --extract-path /sites/default/

    • CONFIRMED that I received "No upload directory has been specified for the project type backdrop"

    • TYPO3 8.7.10

    • Clean repo w/no database or settings file

    • Ran ddev import-files --src ~/tmp/files.tar --extract-path /sites/default/

    • CONFIRMED that I received "No upload directory has been specified for the project type typo3"

    • Drupal 7.58

    • Clean repo w/no database or settings file

    • Ran ddev import-files --src ~/tmp/files.tar --extract-path /sites/default/

    • Import said it worked, but this still needs refactoring.

    • RECOMMENDATION

    • We still need to prioritzed #666 for the non-failsafe protected projecttypes.

  • Fix Database Corruption Issue

    • Technically, I wasn't able to recreate the regression, but the change seems sane.

    • If I need to, I can fake a 1GB DB with Devel Generate for D7 and then import.

    • PASS

@rfay For the morning. I just finished my first pass. I think one issues that I'm calling a regression is worth getting in before we release. I could have pushed back harder on two of the other issues, but I left follow-up recommendations instead because I know things like import-files is waiting on a refactor. The warning about collisions is a nice to have but not mandatory out of the gates.

Met with Randy, basically the path forward.

  • Output the ports when ddev start is run.
  • Test import-files to see if it wasn't just user error.
  • File issue regarding router failures and improvements for debugging

I had no trouble with import-files, please recheck:

$ ddev import-files --src=.tarballs/montclair_files_bare.tgz
Successfully imported files for montclair
$ ddev import-files --src=.tarballs/montclair_files_start_at_site.tgz --extract-path=sites/default/files/
Successfully imported files for montclair

The two very-non-trivial tarballs I used will arrive at https://www.dropbox.com/sh/rgt87mblp3z24vc/AAC2cXXSijDUDDLjP_s03jGua?dl=0 pretty soon. They're uploading. One has just the contents of sites/default/files, the other has sites/default/files and contents.

Issue for router failures was created in https://github.com/drud/ddev/issues/774

I think the release process should be unblocked when we're ready with #775 PR to fix output on ports.

Updated the review. We're good to go with a release!

https://github.com/drud/ddev/releases/tag/v0.17.0 - all that's left is any additional announcements or whatever.

We hit Twitter and posted to various Slack channels. Eventually, we'll get this connected to our newsletters. No need for a blog article on this one. Thanks, @rfay!

Was this page helpful?
0 / 5 - 0 ratings