ContinuousIntegration

Python package testing framework

  • autopkgtest (ian jackson) - general package testing tool
  • maybe run tests after the build, not download again later
  • mvo's auto upgrade tester
  • upload python2.7 to a ppa and do testing
  • metric gathering:
    • list of problem packages
    • most extensions will just need a rebuild
    • 1200 binary packages with 'python' in the name
    • many applications don't have 'python' in the name
    • the full list would include anything that has a dependency on python
  • rebuilding packages
    • putting all packages in a PPA would be slow to build
    • lucas' system is overkill for this number of packages [reference to system]
      • set-up takes longer than build
    • wgrant - ubuntuwire.com
    • regular builds feeding bugs into launchpad using a designated tag
    • testing outside of LP allows better syncing with debian

Actions

  • Review the build systems to see which is most appropriated
    • ubuntuwire may be the most appropriate
    • talk to wgrant
    • #ubuntuwire on freenode
    • determine how to integrate with mvo's upgrade tester
  • Write tools to extract metric data
    • extract raw data from mvo's system
    • create new visualization tools
    • general tools for re-use
  • Best practices for package testing
    • Common interface for testing python package (whether in distutils, etc)
      • Perhaps "python setup.py test" ?
    • Continuous integration system attached to cheeseshop
    • Simpler version of buildbot
    • Compatibility checks against various python versions
    • Limited results shown on cheeseshop
    • More detailed data on python.org
    • Start with supported python versions and packages in Debian and Ubuntu
    • Documentation defines expectations of packages to fit into the system and the best practices
    • quickly integration
      • Creates templates, setup.py, etc.
      • sphinx-based templates
      • auto uploads to cheeseshop, LP, elsewhere
    • paste integration
    • Existing packages will need to be retrofitted
    • Want to close the loop: make it easy to start a package, upload to cheeseshop etc, but also to make a system package of it via Launchpad and have that tested too.
    • stdeb
      • discourage people from including debian directory
    • Impediments to automatically making packages
      • Licensing issues -- may be solvable
    • Best practices:
      • Include copyright, author information, licensing, etc that can be put into control files.
      • Feedback to developers on how to change their project to benefit from the system.


CategorySpec

MaverickMeerkat/TechnicalOverview/Python/ContinuousIntegration (last edited 2010-10-14 18:37:41 by robbie.w)