Hi. TL;DR OVS can not use Travis CI anymore. So, we need a new CI provider. GitHub Actions looks like a sane replacement.
As you, probably, noticed our Travis CI builds are taking lots of time to start and work. This is because of reduced capacity for travic-ci.org users. What happened to travis-ci.org? --- Travis CI forces everyone to migrate to travic-ci.com. Their rationale is that it's easier for them to support one service and provide better support. Here is the only place where this info could be found: https://docs.travis-ci.com/user/migrate/open-source-repository-migration#frequently-asked-questions Right now travic-ci.org is completely unreliable since it takes too long for build jobs to even by queued. They are waiting for days in 'job received' state. travic-ci.org will be turned into read-only mode starting on December 31st. Before that time all users should migrate to travis-ci.com. Why Open vSwitch project is not able to migrate to travis-ci.com? --- In their blog post Travis CI says that they will convert all users who currently uses their services for free (like OVS) to their "Free" plan. But what does it mean? This means that all these users will have 10.000 credits received for free and once these credits are gone, we'll need to buy new credits. I tested this with my own github repo and it turned out that a single OVS build takes ~2.850 credits. i.e. we have 3 free builds. They also claim that they're still very supportive for OSS projects and that such projects could contact their support and ask for special free OSS-only credits. OK, I did that. It turned out that their definition of OSS project is slightly different. In details, that is what I received in reply to my request for OSS-only credits: Thanks for contacting Travis-CI Support! I’d love to help! We offer an Open Source/Educational Subscription for free to non-commercial Open Source projects. To qualify for an OSS subscription, the project must meet the following requirements: 1. You are a project lead or regular committer (latest commit in the last month) 2. Project must be at least 3 months old and is in active development (with regular commits and activity) 3. Project meets the OSD specification 4. Project must not be sponsored by a commercial company or organization (monetary or with employees paid to work on the project) 5. Project can not provide commercial services or distribute paid versions of the software Sounds like you and your project? We’d be very happy to support you. If your project does not match these requirements or you have questions, feel free to ask! To be honest, I do not think that any major FOSS project could meet requirement for not having employees of some company paid to work on the project. And OVS clearly doesn't qualify for this. This means that we're not eligible for OSS-only credits. Blog link: https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing The most frustrating part of all this is that they are not making any public announces and you need to dig up all that information in forums and direct conversations with their support. What about paid service? --- Well, it's a tough question. In order to have same level of service as we had we will need to pay for a plan with 5 concurrent jobs which is 250$/month. And that is only for main openvswitch repo. But we also have ovsrobot and maintainers and contributors who want's to test their work before pushing to repo/sending patches upstream. So, this doesn't sound like a good solution unless someone wants to spend few thousands per month on upstream CI. What to do? --- Easiest solution right now seems to be migration to GitHub Actions. They are providing free service for open repositories comparable with what Travis CI provided. The main issue here is that GitHub Actions doesn't have support for Arm. 2 ways to fix that: - Use qemu-multiarch containers and test Arm builds in emulation. Pros: Generic github runners. Cons: Might be slow. - GitHub Actions has support for external Arm based runners. So we'll need to find someone to host runner on their hardware. Pros: Native builds. Cons: Someone needs to dedicate HW and time. - Another CI provider. If you know free CI provider that could cover Arm, please, suggest. For now, until the end of December we could keep Arm jobs on travic-ci.org and hope that it will eventually test them. Immediate actions: --- Right now I'm blocked on testing patches since I practically have no CI to back me up. So, I'm holding on everything right now to prepare initial version of GitHub Actions migration. This doesn't mean that this will definitely be accepted, but at least this will allow me to work normally. I'll send patch to ovs-dev as soon as it is ready. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
