The bugfix confirmation loop - PyConFI 2013

Post on 15-Jun-2015

241 views 0 download

Tags:

description

Slides for my talk at PyConFI 2013

Transcript of The bugfix confirmation loop - PyConFI 2013

The bugfix confirmation loop

Niklas Närhinen / @nnarhinen

@nnarhinen

• Web developer

• Open source developer (trying..)

• part-time freelancer

Flowplayer

Flowplayer

• Flowplayer Flash

Flowplayer

• Flowplayer Flash

• Flowplayer HTML5

Flowplayer

• Flowplayer Flash

• Flowplayer HTML5

• More to come..

Flowplayer HTML5

• HTML5 <video> tag

• CSS3

• Encodings

• HTTP servers

• Browsers..

Automated test suite

• There is none :(

• Planned to near future

Bug reports

• Often reproducable on only one

• ..browser

• ..jQuery version

• ..video

• ..computer

Fix

• Reproducable demo

• Code code code code

• ???

• Profit!

Problem with Flowplayer issues

• Fix verification

• Idea: Ship fixed build to customer

• yeah, not going to happen

Better

• Build the complete demo site with the new player

Gitbot

• Continuous deployment tool

• Configuration with Python and Yaml

➡ Super flexible

• Project build dependency - Cool!

Gitbot

• http://gitbot.io/

• https://github.com/gitbot

• In a developing phase - documentation will follow

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

Pull requests

• Every pull request will get built

Pull requests

Pull request versionDevelopment branchLatest stable

What actually happens

What actually happens

• Gitbot fetches sources for flowplayer

What actually happens

• Gitbot fetches sources for flowplayer

• It builds the player

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/)

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

Conclusion

Conclusion

• Automating builds is beneficial

Conclusion

• Automating builds is beneficial

• Choose the right workflow for your product / team

Conclusion

• Automating builds is beneficial

• Choose the right workflow for your product / team

• Publish visible results

Thank you!

• Questions, feedback?

➡@nnarhinen