Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Building Continuous Integration Testing Standards for an Open-source community
1. Building Continuous Integration
Testing Standards for an Open-
source community
Bradford Condon, PhD
Co-Maintainer, Tripal
Web and mobile developer, Data
Scientist, Bioinformatician
@bradfordcondon
www.bradfordcondon.com
tripal.info
www.hardwoodgenomics.org
3. Bench scientist to developer
@bradfordcondon
www.bradfordcondon.com
tripal.info
www.hardwoodgenomics.org
treesnap.org
Confocal microscopy of iron deficient
fungal mutants infecting corn leaf
Condon, B. J., Oide, S., Gibson, D. M., Krasnoff, S. B., & Turgeon, B. G. (2014). Reductive iron
assimilation and intracellular siderophores assist extracellular siderophore-driven iron
homeostasis and virulence. MPMI, 27(8), 793–808. doi:10.1094/MPMI-11-13-0328-R
6. Drupal & Tripal
https://www.drupal.org/
tripal.info
● A Drupal module
● Open-source Biological CMS
● Modest set of community contributed modules
● Provides features that Biologists need
● Adhere to dating sharing principles important
for funding agencies
○ https://www.force11.org/group/fairgroup/fair
principles
Tripal
● Open-source CMS
● Rich community contributed
modules
● Provides basic site
functionality
Drupal
11. Benefits of CI
● Tests!
● Identify problems earlier
● Reduce merge conflicts
● Release more often
● Tests!
● Organizational culture
● Warning/error overload
12. Code Climate
reads in the
coverage
report and
runs the style
sniffer.
PR is reviewed and
merged on GitHub.
Docs rebuilt.
Travis-CI runs
PHPUnit and
generates
coverage
reports.
Code written
on local
developer
instance and
pushed to
GitHub.
THE WORKFLOW
14. i
Tripal, Drupal, and Testing
BDFL -> PMC
● No means of evaluating PRs
● BDFL PRs not tested
● New users were downloading
broken software
● Many bugs discovered and
introduced live
● Tripal had 0 tests in 2018
● Drupal 7 and under
encouraged SimpleTest
● SimpleTest vs PHPUnit…
● Cons of SimpleTest
○ PHP version support is low
○ No/poor IDE integration
○ Doesn't have simple test log
output
15. Descriptive Test Name
Pack it in/Pack it out
(database, environment, dependencies)
Multiple Assertions/Test
i
If A Test Fails, Will I know Why?
27. CI Platforms
● Integration with your version
control
● Features
● Guides
● Configurability
● Complexity/Learning Curve
● Price!
28. Travis CI
https://travis-ci.org/
● Build in Travis environment allows matrix
testing of variables, versions
● Build in Docker allows rapid testing
○ For Tripal core, we test upgrade
process by launching docker containers
for each release and running the
upgrade.
42. Presentation Design
This presentation uses the following typographies and colors:
Free Fonts used:
http://www.1001fonts.com/oswald-font.html
https://www.fontsquirrel.com/fonts/open-sans
Vector Icons by Matthew Skiles
Presentation template designed by Slidesmash
Photographs by unsplash.com and pexels.com