diff --git a/2012/learnfwd_testing_cash_music/Makefile b/2012/learnfwd_testing_cash_music/Makefile new file mode 100644 index 0000000..64588b3 --- /dev/null +++ b/2012/learnfwd_testing_cash_music/Makefile @@ -0,0 +1,7 @@ + +presentation: + rubber --pdf pres.tex + evince pres.pdf > /dev/null + +clean: + rm *.aux *.out *.snm *.toc *.log *.nav *.pdf diff --git a/2012/learnfwd_testing_cash_music/dancing.jpg b/2012/learnfwd_testing_cash_music/dancing.jpg new file mode 100644 index 0000000..062d612 Binary files /dev/null and b/2012/learnfwd_testing_cash_music/dancing.jpg differ diff --git a/2012/learnfwd_testing_cash_music/jitterbug_dashboard.png b/2012/learnfwd_testing_cash_music/jitterbug_dashboard.png new file mode 100644 index 0000000..5ff55ff Binary files /dev/null and b/2012/learnfwd_testing_cash_music/jitterbug_dashboard.png differ diff --git a/2012/learnfwd_testing_cash_music/jitterbug_email.png b/2012/learnfwd_testing_cash_music/jitterbug_email.png new file mode 100644 index 0000000..f1c1040 Binary files /dev/null and b/2012/learnfwd_testing_cash_music/jitterbug_email.png differ diff --git a/2012/learnfwd_testing_cash_music/jitterbug_project.png b/2012/learnfwd_testing_cash_music/jitterbug_project.png new file mode 100644 index 0000000..2edf511 Binary files /dev/null and b/2012/learnfwd_testing_cash_music/jitterbug_project.png differ diff --git a/2012/learnfwd_testing_cash_music/pres.pdf b/2012/learnfwd_testing_cash_music/pres.pdf new file mode 100644 index 0000000..aa32b2a Binary files /dev/null and b/2012/learnfwd_testing_cash_music/pres.pdf differ diff --git a/2012/learnfwd_testing_cash_music/pres.tex b/2012/learnfwd_testing_cash_music/pres.tex new file mode 100644 index 0000000..f5e058a --- /dev/null +++ b/2012/learnfwd_testing_cash_music/pres.tex @@ -0,0 +1,174 @@ +\documentclass[12pt]{beamer} +\usepackage{beamerthemeHannover, graphicx, clrscode, amsmath, amssymb, multicol} +\usepackage{textcomp} \usepackage{verbatim} +\usepackage{listings} +\setbeamercolor{sidebar}{use=structure,bg=gray!60!green} +\lstset{language=SQL} + +\title{Testing CASH Music} +\author[@dukeleto]{Jonathan "Duke" Leto} +\date{} + +\begin{document} + +\frame{ + \titlepage + \begin{center} + \includegraphics[width=125px, height=115px]{dancing.jpg} + \end{center} +} + +\frame{ + \frametitle{What is Continuous Integration (CI) ?} + + Continually and automatically testing code, usually with relevant notifications. +} + +\frame{ + \frametitle{Why is CI Useful?} + \begin{itemize} + \item Know the exact commit that broke something + \item Automate testing many different combinations of different versions + of libraries, languages, OS's, browsers, etc... + \item Quickly identifies tests that only pass on the authors machine + due to implicit assumptions + \end{itemize} +} + +\frame{ + \frametitle{What problems does Jitterbug solve?} + \begin{itemize} + \item People forgetting to run the test suite + \item People forgetting to notify others when they see breakage + \item Not having a visual interface to which commits passed + and which failed a test suite + \end{itemize} +} + +\frame{ + \frametitle{What does Jitterbug look like?} + + \begin{center} + \includegraphics[width=260px, height=225px]{jitterbug_dashboard} + \end{center} +} + +\frame{ + \frametitle{What does Jitterbug look like? (2)} + + \begin{center} + \includegraphics[scale=0.3]{jitterbug_project} + \end{center} +} + +\frame{ + \frametitle{What does Jitterbug look like? (3)} + \begin{center} + \includegraphics[scale=0.3]{jitterbug_email} + \end{center} +} + +\frame{ + \frametitle{Current Features} + \begin{itemize} + \item Integrates seamlessy with Github post-receive hooks + \item Can run tests for Perl 5/6, Parrot, Ruby and Makefile-based projects + \item Highly customizable YAML configuration file + \item Email notifier + \item Supports custom build/test scripts + \item Pretty web interface + \end{itemize} +} + + +\frame{ + \frametitle{Getting Jitterbug} + \begin{itemize} + \item git clone git://github.com/franckcuny/jitterbug.git + \item cd jitterbug + \item perl Build.PL + \item ./Build installdeps \# install dependencies + \item ./Build test \# run tests + \end{itemize} + + Will release to CPAN Real Soon Now +} + +\frame{ + \frametitle{Doing the Jitterbug} + \begin{itemize} + \item vi config.yml \# Customize YAML config + \item perl jitterbug.pl -p 8080 \# Web interface + \item perl scripts/jitterbug\_db --config config.yml --deploy + \item perl scripts/builder.pl -c config.yml + \item Add http://example.com:8080/hook/ as a Github post-receive URL + \end{itemize} +} + +\frame{ + \frametitle{Customizing Jitterbug} + Interesting config file options... + \begin{itemize} + \item reuse\_repo - Reuse git repos instead of recloning + \item stack\_tasks - Test every commit, not just current HEAD + \item perlbrew - use perlbrew to test under many versions/builds of Perl + \item email\_on\_pass - whether to send emails for PASSing test suites + \end{itemize} +} + +\frame{ + \frametitle{Customizing Jitterbug (2)} + SQLite by default, but any database can be used + %\lstinputlisting{example2.yml} +} + +\frame{ + \frametitle{Customizing Jitterbug (3)} + Per-repo config + % \lstinputlisting{example.yml} +} + +\frame{ + \frametitle{Future Goals} + \begin{itemize} + \item Jitterbug wants to support running tests in many more languages, including + \begin{itemize} + \item Python + \item Javascript + \item PHP + \end{itemize} + \item Code coverage + \item Graphic visualization + \end{itemize} +} + +\frame{ + \frametitle{Get involved!} + \begin{itemize} + \item Install Jitterbug and test your projects + \item Join \#dancer on irc.perl.org for help + \item Submit a pull request for an issue! https://github.com/franckcuny/jitterbug + \item http://lumberjaph.net/jitterbug + \end{itemize} +} + +\frame{ + \frametitle{ Thanks! } + \begin{itemize} + \item Franck Cuny + \item Boyce Thompson Institute for Plant Research + \end{itemize} +} + +\frame{ + \frametitle{ Stalk Me } + \begin{center} + \begin{itemize} + \item http://leto.net + \item @dukeleto / !leto on twitter/identi.ca + \item http://linkedin.leto.net + \item Slides available at http://github.com/leto/presentations + \end{itemize} + \end{center} +} +\end{document}