31
The bugfix confirmation loop Niklas Närhinen / @nnarhinen

The bugfix confirmation loop - PyConFI 2013

Embed Size (px)

DESCRIPTION

Slides for my talk at PyConFI 2013

Citation preview

Page 1: The bugfix confirmation loop - PyConFI 2013

The bugfix confirmation loop

Niklas Närhinen / @nnarhinen

Page 2: The bugfix confirmation loop - PyConFI 2013
Page 3: The bugfix confirmation loop - PyConFI 2013

@nnarhinen

• Web developer

• Open source developer (trying..)

• part-time freelancer

Page 4: The bugfix confirmation loop - PyConFI 2013

Flowplayer

Page 5: The bugfix confirmation loop - PyConFI 2013

Flowplayer

• Flowplayer Flash

Page 6: The bugfix confirmation loop - PyConFI 2013

Flowplayer

• Flowplayer Flash

• Flowplayer HTML5

Page 7: The bugfix confirmation loop - PyConFI 2013

Flowplayer

• Flowplayer Flash

• Flowplayer HTML5

• More to come..

Page 8: The bugfix confirmation loop - PyConFI 2013

Flowplayer HTML5

• HTML5 <video> tag

• CSS3

• Encodings

• HTTP servers

• Browsers..

Page 9: The bugfix confirmation loop - PyConFI 2013

Automated test suite

• There is none :(

• Planned to near future

Page 10: The bugfix confirmation loop - PyConFI 2013

Bug reports

• Often reproducable on only one

• ..browser

• ..jQuery version

• ..video

• ..computer

Page 11: The bugfix confirmation loop - PyConFI 2013

Fix

• Reproducable demo

• Code code code code

• ???

• Profit!

Page 12: The bugfix confirmation loop - PyConFI 2013

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

Better

• Build the complete demo site with the new player

Page 14: The bugfix confirmation loop - PyConFI 2013

Gitbot

• Continuous deployment tool

• Configuration with Python and Yaml

➡ Super flexible

• Project build dependency - Cool!

Page 15: The bugfix confirmation loop - PyConFI 2013

Gitbot

• http://gitbot.io/

• https://github.com/gitbot

• In a developing phase - documentation will follow

Page 16: The bugfix confirmation loop - PyConFI 2013

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

Pull requests

• Every pull request will get built

Page 18: The bugfix confirmation loop - PyConFI 2013
Page 19: The bugfix confirmation loop - PyConFI 2013
Page 20: The bugfix confirmation loop - PyConFI 2013
Page 21: The bugfix confirmation loop - PyConFI 2013

Pull requests

Pull request versionDevelopment branchLatest stable

Page 22: The bugfix confirmation loop - PyConFI 2013

What actually happens

Page 23: The bugfix confirmation loop - PyConFI 2013

What actually happens

• Gitbot fetches sources for flowplayer

Page 24: The bugfix confirmation loop - PyConFI 2013

What actually happens

• Gitbot fetches sources for flowplayer

• It builds the player

Page 25: The bugfix confirmation loop - PyConFI 2013

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

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

Conclusion

Page 28: The bugfix confirmation loop - PyConFI 2013

Conclusion

• Automating builds is beneficial

Page 29: The bugfix confirmation loop - PyConFI 2013

Conclusion

• Automating builds is beneficial

• Choose the right workflow for your product / team

Page 30: The bugfix confirmation loop - PyConFI 2013

Conclusion

• Automating builds is beneficial

• Choose the right workflow for your product / team

• Publish visible results

Page 31: The bugfix confirmation loop - PyConFI 2013

Thank you!

• Questions, feedback?

➡@nnarhinen