The Travis CI team's blog announces product changes, pricing, and security incidents for the hosted continuous integration service.
HN links it mostly for security bulletins and the data exposure post-mortem; one commenter calls a bulletin embarrassing, and another notes IBM Power and Z support.
Only a few weeks ago they wrote a letter (https://blog.travis-ci.com/oss-announcement) that said "Open source accounts, as always, will be completely free under travis-ci.com."
Their home page at travis-ci.com still says:
> Testing your open source projects is always 100% free!
> Seriously. Always. We like to think of it as our way of giving back to a community that gives us so much as well.
That is simply not what's going on. As far as anyone can tell, they are offering some OSS which meet specific criteria (including no company funds any part of it, including paying people to work on it(?!)) free minutes in fixed monthly allotments, which you have to keep asking for every month. And there are only so many total minutes they are willing to give out, which apparently have now been frozen.
How can they have written a letter only two weeks ago saying "Open source accounts, as always, will be completely free under travis-ci.com"? How can their home page still say "Testing your open source projects is always 100% free!"??
At this point, it is hard to explain it as anything other than intentional manipulative dishonesty.
I don't understand why they don't just say "Yes, we can no longer provide free open source accounts." They aren't actually fooling anyone, I mean people notice that they don't have free accounts anymore, right? It is a weird attempt at some kind of reality distortion.
I guess you could try replying: "Credit allocation"? I don't understand, Paul Gordon…
There are several points in this article :
1/ stuffing random ints into your user functions : that problem can be solved with typing and tests. I'm hoping that extensive testing of any piece of code which would have a drastic effect on a user would get extensive testing before going into production.
2/ ID canary : seems a rather good idea, like stack canaries commonly used when you don't have much stack space and you might get a collision with your heap. It's only a problem for languages for which point 1/ couldn't be a solution.
3/ Using UUIDs to avoid disclosing information about your user count : I think that's a separate problem. You should avoid disclosing unneeded information in general. If you use int IDs, always have an opaque public_id field that you use publicly and for interoperability with third-parties. But it does not mean you have to use UUIDs internally. However they do have a number of advantages, mainly that you don't need a central authority to distribute new sequence numbers, you can just generate UUIDs where you need them which will save you DB round-trips and make sharding of your DB easier. Also will help avoid issues such as this one : https://blog.travis-ci.com/2018-04-03-incident-post-mortem
I'm somewhat surprised, given that hosting cURL used to be their primary selling point for their OSS offering[citation needed].
But, they haven't replied to my support emails in ~6 months.
For context: Travis announced a migration from travis-ci.org to travis-ci.com[0] and gradually cut off resources from travis-ci.org to encourage people to migrate[1].
Without notice, they changed the pricing scheme (both for free and paid customers) to a level which effectively meant all OSS projects would have to pay significant amounts of money[2], migrate, or request credits on a monthly basis. The terms for registering as a FOSS project excluded a significant amount of projects, and despite offering a free tier, I didn't know of a developer which this was granted for (until now).
I don't expect that Travis hosts any major OSS projects at this point.
[0] https://docs.travis-ci.com/user/migrate/open-source-repository-migration
[1] https://travis-ci.community/t/build-delays-for-open-source-project/10272
[2] https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
To all the negative replies: yikes!
To me, this seems like a good faith effort to improve work life for your teammates, and build a company where people feel well-cared for.
Remote teams inherently have more communication friction than co-located teams, and - if we want to bridge some of the resulting emotional gap - we'll need new practices to do so.
Incidentally, what OP suggests isn't anything new. Just Google "red yellow green check in"[1].
I've found three ways of building emotional honesty and openness:
1/ regular 1:1s to listen to your direct reports and build trust
2/ lead by example
3/ every week we have a team meeting. During that meeting, everyone on the team answers a question. The question gives them the opportunity to open up about some aspect of their life -- to be better known and understood by their teammates.
[1] https://blog.travis-ci.com/2016-06-09-start-meetings-with-personal-checkins
They've also been very slow to ship updated machine images— Ubuntu 14.04 wasn't available until late 2015, and 16.04 wasn't until Nov 2018:
https://blog.travis-ci.com/2015-10-14-opening-up-ubuntu-trusty-beta
https://blog.travis-ci.com/2018-11-08-xenial-release
The extremely long lag combined with some communications from Travis developers on related Github issues strongly implied that shipping these was a highly manual process, not just a matter of updating a few Packer configs and calling it a day. I'm not arguing that it's trivial, but it should have been a week or two of effort at most.
Now, lots of their userbase could be covered by using docker environments, or by the natural isolation supplied by the language platform (virtualenv, rbenv, etc), but at the end of the day, it's frustrating if your CI environment is drifting away from what developers are actually using themselves.
You should on GCE, but not on EC2: per-hour billing for EC2 means your 15 minute VM costs you 60 (aka 4x as much). We (sadly) have a 10 minute minimum, but the difference is pretty stark.
Once they got through some growing pains (rate limits per project), Travis CI has switched to a 1 VM per build model that they'll probably detail in future blog posts.
https://blog.travis-ci.com/2016-04-07-migration-update
Disclaimer: I work on GCE, so of course I want you to use it ;).