@monperrus I have received private Travis-ci.com access for my GitHub classroom organization. Try reaching out to them via the contact link on travis-ci.com and I’m sure they can help you out!
Travis-CI will give you, for free, one single-threaded build service for all your students. This works very well up to the few minutes prior to a submission deadline, when all the students push their code all at once. I ended up with backlogs that took 3+ hours to clear. You should make sure your students understand they can run all the same tests locally, rather than having them rely on Travis-CI.
I bugged the Travis-CI people about getting me more concurrency, and they suggested that students could host the repos in their personal Github projects (e.g., github.com/danwallach rather than github.com/RiceComp215). I decided against this because it would be a bigger headache for the grading process. I want every repo all in one place.
Once you’ve got the Github Classroom set up working, you then need to connect your Github “organization” to travis-ci.com (note: .com, not .org), then you email support@travis-ci.com to request their educational tier of service.
Quick update. Nowadays it is not necessary anymore to activate repositories: with GitHub Apps you can activate all repositories (including those that are yet to be created) at once. When a .travis.yml file is added, Travis sees it and starts building.
You just have to ask for an educational program linked to your organization. Travis just wrote to me: “Normally, users can be automatically recognized based on their educational status in GitHub, but unfortunately, GitHub doesn’t provide this information for organizations and we need to process this request manually.” See https://education.travis-ci.com/.
Thank you Travis!
This is fantastic. I set up my cron job with my activation tool to dump its output to a text file. I just grepped through it and it only ever actually found repos that I need to activate in one week this fall at the start of September and then for precisely one student’s project out of 180 in one week of October, and then one other time in November, and again for exactly one student (a different one).
Tentative conclusion: you don’t actually need my activation script any more, but occasionally things go wrong (complex distributed systems across multiple vendors being what they are…) and it’s a handy backstop.