It has long been a desire to modernize the backend of SimplyTest.me to better harness container-related technology. This can move SimplyTest from a "fixed" LAMP infrastructure to one of disposable instances. Changes made to configuration subsequently only impact each instance and not all instances.

There are countless issues in our queue that are related to this modernization. There is an excellent thread on moving to a cloud-based container hosting provider, but the cost is staggering for a "free" project. The longstanding issue of distributions could be solved through specific docker images. And, the longstanding desire to move to a Drupal 8 front-end (implement the new designs, etc) can become a reality if we stop spending so much time maintaining the current system.

Tugboat QA offers similar functionality to SimplyTest, in that it spins up site-specific instances per pull request. It's bread and butter is running instances to demonstrate changes within a QA process. Instances are based on Docker images. This functionality has been extended to support an API that stores instance metadata within a repository. This is a lot closer to how SimplyTest works.

And, each Tugboat instance has the ability to execute scripts after provisioning. This offers a high degree of control for SimplyTest to implement the project's features.

Tugboat product maintainers reached out to see if there would be a potential fit. There are many details to iron out, but I believe it's worth exploring to help the project modernize. I'd like to start by creating a proof of concept to see how things work.

I want to note that SimplyTest has never and will never be "owned" by a company. However, we do have community sponsors, both individuals and companies. Should the proof of concept go well, a sponsorship opportunity will be explored with the Tugboat QA team to leverage their services for the backend only. There were some similar sponsorship conversations that did not pan out with some other potential vendos.

I want to stress that I did not open up a call for proposals. As maintainer, I am open to exploring these opportunities as they are presented. I am open to other ideas/sponsorships/etc should they be presented.

Comments

nerdstein created an issue. See original summary.

matt westgate’s picture

Thanks, Adam. Happy to help if we can support SimplyTest by providing the backend infrastructure. Let's see what the proof-of-concept yields. Looking forward to it! --Matt

nerdstein’s picture

StatusFileSize
new21.37 KB

Adding the initial proof of concept patch. Feedback is welcomed on the approach taken. This is far from complete.

Some known remaining work:

0. Begin populating the Drupal core version given what a user selects on the front-end

1. Adding a new template for YML steps to install the site that can be included in the main template if user does not check the manual install

2. Copying the default settings into a local settings file that populates the Tugboat QA credentials, e.g. https://docs.tugboat.qa/tutorials/drupal8/

3. Begin the process of making a Drupal 7 version (this would be a series of conditional changes in the main template).

nerdstein’s picture

Issue tags: +fldc19, +midcamp2019

Adding tags

nerdstein credited q0rban.

nerdstein’s picture

Status: Active » Needs review
StatusFileSize
new13.39 KB

I am at a point where:

1. I am very confident this approach "holds".
2. I am uploading a patch that represents a proof of concept.
3. I will work to define separate known issues blocking a launch of this.

The patch I am uploading can be reviewed before we get too far down the road. As such, this is marked "needs review". I'll be working to get the remaining launch blockers define in a "roadmap" ticket.

And, this depends on the following patch being merged: https://www.drupal.org/project/tugboat/issues/3044433#comment-13047111

Giving credit to Matt, Ben Chavet, and James Sansbury for support

daggerhart’s picture

Status: Needs review » Reviewed & tested by the community
StatusFileSize
new13.34 KB
new1.53 KB

This all looks reasonable to me. RTBC w/ a minor patch for changes.

Minor patch changes.

Removed a stray dpm() and some minor formatting.

nerdstein credited blc.

nerdstein’s picture

Status: Reviewed & tested by the community » Patch (to be ported)

Merging this in

  • nerdstein committed e539647 on 7.x-1.x authored by daggerhart
    Issue #3036569 by nerdstein, daggerhart, matt westgate, q0rban, blc:...
nerdstein’s picture

Status: Patch (to be ported) » Fixed

This is "fixed" --- I am going to be building out a roadmap issue so we can sort out remaining steps/divide and conquer.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.