I have been waiting for the right opportunity to participate to GSOC for a while. I have worked on a project idea that is just right for my skill set, it would be a great learning opportunity for me and I hope that it can useful to the wider Debian community.

Please take a look at the project description and let me know if you would be interested in mentoring me over the summer.

testeduploads: test your packages before they hit the archive

Vision

testeduploads is a service that provides a way to test Debian source packages. The main goal of the project is to empower Debian Developers by giving them easy access to more rigorous testing before they upload a package to the archive. It runs tests that Debian Developers don’t necessarily run because of lack of time and resources.

testeduploads can also be used to test a large number of packages in contexts such as:

  • detecting whether or not packages can be updated to a newer upstream version
  • detecting whether or not packages can be backported
  • testing new versions of compilers
  • testing new versions of debhelper add-ons

Overview

Packages can be submitted to testeduploads with dput. Depending on the upload queue that was used, it can also automatically forward the uploads to ftp.upload.debian.org.

dput testeduploads [changesfile] will upload a package to the configured testeduploads queue and trigger the following tests:

  • rebuild the source package from the .dsc and verify that the signature matches
  • build binary packages
  • run autopkgtests on the package
  • rebuild all reverse dependencies using the new package
  • run autopkgtests on all reverse dependencies

On success:

  • the uploader is notified
  • logs are made available
  • if the package was received through the test-and-upload queue, it is automatically forwarded to ftp.upload.debian.org

On failure:

  • the uploader is notified
  • logs are made available

Results and statistics are accessible through a web interface and a REST API. All uploads are assigned an id. HTTP uploads immediately return an upload id that can be used to query test status and to perform other actions. This allows for other tools to build on top of testeduploads.

The service accepts uploads to several queues that define specific behaviours:

  • test-and-upload: test the package on all release architectures and forward it to ftp.upload.debian.org on success
  • test-only: test the package on all release architectures but not forward it to ftp.upload.debian.org on success
  • amd64/test-and-upload: limit the tests to amd64 and apply test-and-upload behaviour

Why me

I have been contributing to Debian for a couple of years now and I have been a Debian Developper since 2015. For now, I have mostly been conttibuting to packaging new software and fixing packaging-related bugs.

Participating to Google Summer of Code would be a great opportunity for me to contribute to Debian in other areas. Starting a new project like testeduploads is a good learning opportunity but it requires a lot of time. The summer would be more than enough for me to kick start development of the service. Then, I can see myself maintaining and improving it for a long time.

For me, this summer is just the right time. There is very few classes that I could take over the summer, it is a good opportunity to take a summer off and work on GSOC.

For general GSOC questions, please refer to the debian-outreach mailing list or to #debian-outreach on irc.debian.org

If you are interested in the project and want to mentor it over the summer, please get in touch with me at aviau@debian.org.

Debian GSOC coordination guide

debian-outreach mailing list

testeduploads prototype