In its day, Travis CI was a real eye-opener about how useful spinning up a batch of build processes could be. It was fast, free for open source, and neat.
But it was sold to a pretty smarmy company called Idera. And without being told, we were shifted onto a free "plan" with 1000 minutes of compute time.
That's not 1000 minutes a month, that's 1000 minutes total. Not exactly a "plan".
Not only was there no heads up this was going to happen, but the account was in the negative by 3200 minutes. There wasn't really any accounting to know where all these minutes came from or when they started.
In theory we could get approved as an open source organization with a monthly refresh. But on forums people who've submitted for the approval process say they've heard nothing back but a form letter.
If this had been done more straightforwardly, then a $15/mo fee to keep the build farm going wouldn't seem that bad. But with it being done the way it was, this isn't an organization you want to be giving your credit card number to.
Starting Over From Scratch
I pulled out all the Travis scripts and am beginning from a fresh sheet.
It would be good--I think--to have pieces of the build done by different CI services. That distributes the minutes we might use if we're being charged (in free open source points or with dollars). But it would also help look for ways to do things in a CI-agnostic way.
To that end, I began by breaking up @LkpPo's %make.sh script into some isolated bash files, that can be documented and tested as isolated bits of functionality:
This way the CI can be debugging the same process that any user could also benefit from.
The highest priority build to get back online was the Wasm builds. So I decided to go ahead and give a shot at putting that on GitHub Actions (which is where many people jumped to).
By having a separate CI just for the Web Builds, the file can be a lot more focused and clear:
And if you look at the output from the build, it's much more coherent to look at than what we had in Travis:
This is Turning Out To Be a Good Thing
At first, it felt like just another avalanche of "oh no, not another thing to deal with".
But despite the annoyance of having to take time out to deal with it, this is looking a lot better. The files needed the attention. GitHub Actions are snappy, I gather that other CI have a lot of things going for them as well (I'm interested in looking into Drone.io) So far, the main downside to GitHub Actions seems that your choices for build platforms are pretty limited...this is the list:
Anyway, I guess Travis was sold to a bargain basement and going away for a reason...there's too many better options. It's sad to see something go out like this, when it felt at one point like it really defined a new way of working. But the build process is important enough to get attention and be brought up to current practices...so being forced to attend to it is probably a blessing in disguise.