Posted by shyamala on March 31, 2015 at 1:55am
Start:
2015-03-31 (All day) - 2015-04-02 (All day) UTC Event type:
User group meeting
Jeremy Thorson, Nick Schuch, Ricardo Amaro, Bastian Widmer, Rudy Grigar, Archie Brentano, Neil Drumm, Michael Prasuhn, Jonathan Hedstrom, Ryan Aslett, Tim Lehnen, Chx & Angie Byron (remote) are connect at Portland, Oregon for a D8 Accelerate-funded sprint on DrupalCI: Modernizing Testbot Initiative!
Checkout Webchick's post on Plan for upcoming D8 Accelerate sprint on DrupalCI (Modernizing Testbot Initiative) to know what is happening.
Want to join understand the nuances of Drupal's Integrated Testing Environment, Chime in on IRC Channel #drupal-testing, join the international team to write code.

Comments
DrupalCI Sprint - Day 1 Update
Day 1 of the DrupalCI sprint has been a whirlwind!
Truth be told, we actually had a Day 0 where some of the community team joined those of us in the DA office and had a few conversations getting up to speed and getting everyone on the same page.
I'm going to organize these daily notes roughly around the DrupalCI component areas.
Containers
One of the major issues to resolve going into the sprint has been finalizing our container architecture and consolidating the work of several contributors
Wins:
Blockers:
API
Another major issue going into the sprint is that the architecture of the API had been a bit fuzzy and aspirational. With everyone working in the same room we've had a much better opportunity to finalize the design and requirements for the API.
Wins:
Blockers:
Drupal.org Integration
Integration with Drupal.org is obviously a critical component of the DrupalCI sprint. The goal for MVP is for Drupal.org to be able to poll the API on a pull basis for test data - with an ultimate goal of moving to a push model in future iterations.
Wins:
Blockers:
Test Runner
The test runner does the bulk of the work- taking job definitions and interacting with the other components of CI to actually get containers and perform tests. An important part of the sprint is code refactor and clean up of the test runner, and integrating it with the rest of the work (such as on the API)
Wins:
Blockers:
Results Site
The results site is the clearing host for creating results objects, updating status of tests, and storing artifacts.
Wins:
Blockers:
Infrastructure
The DA infrastructure staff have been present to help integrate the DrupalCI system onto production hardware, and ensure that images are configured securely and with good availability.
Wins:
Blockers:
Documentation
A goal for this sprint is to create some decent skeleton documentation for the MVP that we will produce.
Wins:
Blockers:
There's no sign of slowing this evening as I post this update - so the work will continue! Looking forward to an equally productive day 2!
Awesome job - great guys
Congrts team,
You guys did great job.
DrupalCI Sprint - Day 2 Update
Day 2
Just like yesterday- as I write this update the sprint pace continues around me at a high level. The great forward momentum is continuing.
We have a few soft blockers and a couple hard blockers/gaps to fill this evening and into yesterday, but tomorrow we strike up the band to see if this baby can dance!
We also tagged and branched DrupalCI legacy for the pre-sprint work that some community members have been running experimentally as we bring all this work together and take it online.
Containers
Work to finalize the containers is wrapping up - and we're getting the test runner working with the new container stack
Wins:
Blockers:
API
The API has really solidified from an aspirational structure into something structured (and that works!)
Wins:
Blockers:
Drupal.org Integration
Speccing out the integration and structuring the data continues
Wins:
Blockers:
Test Runner
The test runner continues to be critical and has undergone a great deal of refactoring. We have a few gaps to fill to hook it into the rest of the CI system, this evening and on our last day.
Wins:
Blockers:
Results Site
The results site is the clearing host for creating results objects, updating status of tests, and storing artifacts.
Wins:
Blockers:
Infrastructure
More work to bring CI into a production envorinment.
Wins:
Blockers:
Documentation
A goal for this sprint is to create some decent skeleton documentation for the MVP that we will produce.
Wins:
Blockers:
We continue to barrel forward at an epic pace! Day 3 will be exciting as we try to light this candle.
DrupalCI Sprint - Day 3 Update
Day 3
The third and final (official) day of the DrupalCI sprint has been challenging and rewarding. Yet again, as I write this the sprint is ongoing and work will likely continue into the evening!
The MVP finish line is in sight - but we still need to do a lot of stitching. (And a lightning bolt or two might not hurt).
At this moment are using the CLI of the API to pull containers and run tests against the bash-based legacy test-runner branch. At the same time debugging continues on the drupalci console version of the test-runner, which we will slot in as a modular component once complete.
The testbots themselves are parsing results so that they can be passed to the results server.
The DA team has continued prepping to store test data, the ui to interface with DrupalCI API to initiate tests, and integration witht he results server.
Containers
There was a bit more debugging on the containers and some small tweaks to them, but they are essentially final.
Wins:
Blockers:
API
The API is functional from the perspective of initiating tests, integrates with the legacy test-runner, and has been reviewed with the DA infrastructure team
Wins:
Blockers:
Drupal.org Integration
Speccing out the integration and structuring the data continues
Wins:
Blockers:
Test Runner
The test runner continues to be critical and has undergone a great deal of refactoring. We have a few gaps to fill to hook it into the rest of the CI system, this evening and on our last day.
Wins:
Blockers:
Results Site
The results site is the clearing host for creating results objects, updating status of tests, and storing artifacts.
Wins:
Blockers:
Infrastructure
More work to bring CI into a production envorinment.
Wins:
Blockers:
Documentation
A goal for this sprint is to create some decent skeleton documentation for the MVP that we will produce.
Wins:
Blockers:
As I conclude this update work is likely to continue well into the night. A couple of our sprinters are on their way home tonight, but others are here for an unoffiical day of further sprinting tomorrow.
In several respects we've achieved our MVP - containers are in great shape, and in fact have hit most of our stretch goals in terms of DB support - the legacy test runner runs tests and produces good results - and the API has made good progress stitching all these components together. The work continuing tonight and tomorrow will be focused on continuing the stitching up of all our components and on the integration with Drupal.org.
DrupalCI Sprint - Day 4 Update - Bonus Sprinting!
Day 4
It's alive! It's ALIVE!!
The DrupalCI Bonus sprint day hit some awesome milestones! Chief among them - we ran the system end to end!
In this case, end-to-end means curling the API the same way the D.O integration does, triggering the legacy runner, querying the sqllite db of results, pushing those results to the results server.
We also have a sneak preview of the UI for the Drupal.org integration with DrupalCI:
Our MVP
We laid out a pretty ambitious goal for the sprint, but also one that gave us a very pragmatic place to reach for:
So how did we do?
Where does this lead next?
Following on the succesful MVP work above, we want to demo a few testing scenarios all the way from Drupal.org. There are definitely still some moving parts to work on here - but these demos will become possible as the team finishes polishing things up and we're able to deploy the work we've done on the Drupal.org integration side.
We have a hit list of additional items below - and will be recapping further with the DrupalCI sprint team, and internally at the Drupal Association.
Our other Stretch Goals
Before running through the hitlist of today's successful items, and the roadmap of where we're going with this next, let's talk about the stretch goals we hit for the sprint.
Final Day Successes and Roadmap
Containers
Wins:
Roadmap
API
Wins:
Roadmap:
Results Site
Wins:
Roadmap:
Drupal.org Integration
Wins:
Roadmap:
Test Runner
We have two test runner elements that exist in parallel. A legacy test_runner in bash, and the symfony console based new test runner that is essentially complete, but being refind and slotted into place.
Wins:
Roadmap:
run_tests.sh
At this point, as we just iteratively try and complete tests using the full chain, we'll need core dev support to help troubleshoot the root causes of any failures in run_tests.sh.
These will likely be small environment issues (such as the timezone issue alluded to above) but may result in small fixes to the project.
Documentation
Wins:
Roadmap:
Thanks for all the fish!
Most of our sprinters are on their way back home, and getting some much needed rest after long nights, and hard work. They did an outstanding job. We'll be setting up a time to recap with the DrupalCI sprint team (and the remote folks who've helped us out along the way) in the next week or so.
And that's it for the DrupalCI sprint. Massive thanks to everyone who came and visited with us in the Drupal Association offices here in Portland. Tremendous thanks to all the donors to D8Accelerate who made this sprint possible!
WIN!!!
So much win. This is some amazing work. Good job folks and best of luck with the rest of the work.
Thanks to the DA for hosting
Thanks to the DA for hosting and feeding us, and to everyone for being a bunch of smart people in a room. :-)