Accueil / The new Docker testbot that will power Drupal Quality Assurance

The new Docker testbot that will power Drupal Quality Assurance

Drupaldevdays 2014 at Szeged was a huge success, especially regarding the seven-day long sprints, where a lot of work was done, from the core development initiatives to drupal.org improvements and infrastructure developments.

On the Drupal infrastructure team we have been quite busy, trying to improve processes, making things easier and faster for Drupal and the Drupal community. Therefore I went to Szeged and engaged live with jthorson, dasrecht and beejeebus on a mission to modernize the Drupal automated testing, on qa.drupal.org, commonly known as the “testbots.”

The primary working results are available at the public repo:

Git Commit statistics:

  1. Ricardo Amaro 132 commits
  2. Jeremy Thorson 7 commits
  3. Bastian Widmer 1 commit (via pull request)

and 40 retweets of the announcement.

Based on this work, Nick Veenhof wrote up a great post on
How to reliably test sandbox projects using the drupal.org testbot locally.


Why do we need this and why do we think it’s awesome?

  • Test patches on your local box the same you do on http://qa.drupal.org
  • Test multiple patches and multiple modules/sandboxes at once
  • Test any Drupal version/branch
  • Get realtime output from the Docker container
  • Choose mysql, sqlite
  • Choose PHP5.3/5.4/5.5 versions
  • Test offline with caching feature
  • Test only what you need and faster!
  • Runs natively on Linux and on MAC/windows via vagrant

Here are the quick Linux instructions for building the containers:

git clone https://github.com/ricardoamaro/modernizing_testbot__dockerfiles.git
cd
modernizing_testbot__dockerfiles
sudo ./build_all.sh cleanup

… and Vagrant MAC/Windows instructions:

(You do need Vagrant and Virtualbox installed)

git clone https://github.com/ricardoamaro/modernizing_testbot__dockerfiles.git
cd
modernizing_testbot__dockerfiles
vagrant up

Example of one run, using one patch, against D8 Bootstrap tests:

sudo \
TESTGROUPS="Bootstrap" \
DRUPALBRANCH="8.x" \
PATCH="https://drupal.org/files/issues/1942178-config-schema-user-28.patch,." \
./run.sh


docker testbot run

More examples and documentation at: https://github.com/ricardoamaro/modernizing_testbot__dockerfiles

Try it out now. Seriously! It's easy!

Read the full “Modernizing Testbot: Drupal Dev Days report” at: https://groups.drupal.org/node/417188

What are the next steps?

Aside from keeping improving the docker testbot we will:

  • Integrate with the Jenkins service
  • Connect with qa.drupal.org
  • Improve drupal.org issues with the new options
  • Use the new OpenStack to run the containers

And possibly integrate with travis.ci in order to have testbots on pull request off github repos.

Thank you to all who are supporting, helping and testing this project!

Commentaires

Posted on by Nick_vh (non vérifié).

I really enjoyed working with stuff like this that make complex matter really easy. Thanks to all that helped and hopefully we can see this on the testbots soon

Posted on by Paul Mitchum (non vérifié).

When's it going to roll out, or has it already?

Moving this documentation to d.o would be great when that happens.

Posted on by Nicolas Leroy.

This looks very nice. What a great feature to being able to test code on your local machine in an easy way. A great way to improve code quality.

Posted on by Nick Stinemates (non vérifié).

Please let me know if you need any help. This is such a cool/great project.

Ajouter un commentaire

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Filtered HTML

  • Use [acphone_sales], [acphone_sales_text], [acphone_support], [acphone_international], [acphone_devcloud], [acphone_extra1] and [acphone_extra2] as placeholders for Acquia phone numbers. Add class "acquia-phones-link" to wrapper element to make number a link.
  • Pour publier des morceaux de code, entourez-les avec les balises <code>...</code>. Pour du PHP, utilisez. <?php ... ?>, ce qui va colorier le code en fonction de sa syntaxe.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <h4> <h5> <h2> <img>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
By submitting this form, you accept the Mollom privacy policy.