the bugfix confirmation loop - pyconfi 2013
DESCRIPTION
Slides for my talk at PyConFI 2013TRANSCRIPT
![Page 1: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/1.jpg)
The bugfix confirmation loop
Niklas Närhinen / @nnarhinen
![Page 2: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/2.jpg)
![Page 3: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/3.jpg)
@nnarhinen
• Web developer
• Open source developer (trying..)
• part-time freelancer
![Page 4: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/4.jpg)
Flowplayer
![Page 5: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/5.jpg)
Flowplayer
• Flowplayer Flash
![Page 6: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/6.jpg)
Flowplayer
• Flowplayer Flash
• Flowplayer HTML5
![Page 7: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/7.jpg)
Flowplayer
• Flowplayer Flash
• Flowplayer HTML5
• More to come..
![Page 8: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/8.jpg)
Flowplayer HTML5
• HTML5 <video> tag
• CSS3
• Encodings
• HTTP servers
• Browsers..
![Page 9: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/9.jpg)
Automated test suite
• There is none :(
• Planned to near future
![Page 10: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/10.jpg)
Bug reports
• Often reproducable on only one
• ..browser
• ..jQuery version
• ..video
• ..computer
![Page 11: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/11.jpg)
Fix
• Reproducable demo
• Code code code code
• ???
• Profit!
![Page 12: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/12.jpg)
Problem with Flowplayer issues
• Fix verification
• Idea: Ship fixed build to customer
• yeah, not going to happen
![Page 13: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/13.jpg)
Better
• Build the complete demo site with the new player
![Page 14: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/14.jpg)
Gitbot
• Continuous deployment tool
• Configuration with Python and Yaml
➡ Super flexible
• Project build dependency - Cool!
![Page 15: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/15.jpg)
Gitbot
• http://gitbot.io/
• https://github.com/gitbot
• In a developing phase - documentation will follow
![Page 16: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/16.jpg)
Gitbot - workflow
• At flowplayer
• master - stable
• http://demos.flowplayer.org/
• dev - next release version
• http://demos.dev94.flowplayer.us/
• Built on every push to dev
![Page 17: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/17.jpg)
Pull requests
• Every pull request will get built
![Page 18: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/18.jpg)
![Page 19: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/19.jpg)
![Page 20: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/20.jpg)
![Page 21: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/21.jpg)
Pull requests
Pull request versionDevelopment branchLatest stable
![Page 22: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/22.jpg)
What actually happens
![Page 23: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/23.jpg)
What actually happens
• Gitbot fetches sources for flowplayer
![Page 24: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/24.jpg)
What actually happens
• Gitbot fetches sources for flowplayer
• It builds the player
![Page 25: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/25.jpg)
What actually happens
• Gitbot fetches sources for flowplayer
• It builds the player
• Gitbot fetches sources for the demo site
• (Hyde, http://ringce.com/hyde, http://hyde.github.io/)
![Page 26: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/26.jpg)
What actually happens
• Gitbot fetches sources for flowplayer
• It builds the player
• Gitbot fetches sources for the demo site
• (Hyde, http://ringce.com/hyde, http://hyde.github.io/)
• Publishes built site to S3, updates DNS
![Page 27: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/27.jpg)
Conclusion
![Page 28: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/28.jpg)
Conclusion
• Automating builds is beneficial
![Page 29: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/29.jpg)
Conclusion
• Automating builds is beneficial
• Choose the right workflow for your product / team
![Page 30: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/30.jpg)
Conclusion
• Automating builds is beneficial
• Choose the right workflow for your product / team
• Publish visible results
![Page 31: The bugfix confirmation loop - PyConFI 2013](https://reader035.vdocuments.site/reader035/viewer/2022081404/557e7ff9d8b42acf658b479b/html5/thumbnails/31.jpg)
Thank you!
• Questions, feedback?
➡@nnarhinen