GitHub CI @ travis-ci.com

18 views
Skip to first unread message

Albrecht Schlosser

unread,
Nov 30, 2020, 3:29:59 PM11/30/20
to fltk.coredev
All,

FYI: our CI (continuous integration) builds on GitHub are currently not
working because we ran out of Travis-CI "Credits".

I contacted the Travis-CI support last week but I'm still waiting for a
response (other than "Thank you for reaching out to Travis-CI Support.
This is an automated message to notify you that we have received your
ticket...").


Background: beginning with Nov. 2, 2020 the travis-ci folks introduced a
billing system for their services.

They say it's still free for Open Source projects but it's more
complicated than that. When they introduced the billing system every
user got 10,000 Credits for free (trial), where one minute of build time
costs different amounts of credits (off the top of my head):

- Linux: 10 Credits/minute
- Windows: 20 Credits/minute
- macOS: 50 Credits/minute

Unfortunately our macOS builds ran very, very long in the past due to a
possible misconfiguration. We used the default "macOS build image" and
updated (CI-build) software with "brew install" (or similar) to the
latest versions. This took the largest amount of time and is very likely
not necessary. I'll come back to this point later in a separate thread
during the next days.

This went unnoticed during the last weeks/months and I also was not
aware that this can have such an effect on our travis-ci service.

Meanwhile our (i.e. my own) balance is negative (-2,300 Credits) and I
requested "OSS Credits" so we can proceed with our CI builds but, as I
wrote above, I'm still waiting for a response. I'll keep you updated
here in this thread about any progress.

PS: if anybody can contribute to the correct way to get "OSS Credits"
from travis-ci.com or how we can make sure that we can further build our
project (free of charge) on travis-ci.com, all help would be very much
appreciated.

PPS, FYI: our FLTK project's CI builds are currently running under my
personal travis-ci.com account which is linked to my GitHub account
which is used to trigger the CI builds for every commit - as far as I
understand how this all works.

Rob McDonald

unread,
Dec 1, 2020, 1:15:17 AM12/1/20
to fltk.coredev
I spent my Thanksgiving weekend dealing with the exact same issue on my open source project.  I can fill in a couple of the blanks.

1) Travis changed the terms, introducing credits.  Everybody gets 10k unless they pay.  That isn't 10k/month or /year -- that is 10k ever.  It is now a trial license.
1 b) Travis doesn't do a good job of communicating this change.  I had no idea.
2) Apple releases Big Sur.
3) Homebrew only supports the three most recent versions of MacOS.  2) causes them to drop 'official' support for 10.13.
4) Travis' default MacOS is 10.13.  Default Travis builds are now unsupported by Homebrew.
5) Being unsupported by Homebrew causes packages to be built from source instead of installed from precompiled binaries.  This takes a lot of time.  Remember, MacOS time costs 5x Linux time.  In particular, when trying to install/build protobuf, the build falls silent for 10 minutes.  Travis sees this inactivity and times out the build -- causing it to fail and wasting the time that was spent.  For me, that was about 45 minutes into a build -- that never got past the system configuration stage.  That is 2250 minutes per failed Mac build alone (not counting the Windows and Linux builds that get triggered and may not be cancelled because you don't know you're on the clock).

This chain of failures is not well documented.  By the time I had figured out 2,3,4,5, I ran out of 10,000 units I never knew existed.  The first indication that Travis was now keeping score was that I was now negative in my balance.

This was more than enough reason for me to decide to drop Travis and move to another CI solution.

I decided on GitHub Actions.  It didn't exist when I started with Travis, but I wish it had.

Getting set up with Actions was pretty straightforward.  I was even able to kill my AppVeyor Windows builds and consolidate everything into GH Actions.  Before, dealing with uploading artifacts from Travis CI was a real pain.  GH Actions made that very simple (AppVeyor was simple about that too).

GH Actions is on the clock too.  GitHub Free comes with 2000 minutes/month.  MacOS costs 10x Linux, Windows 2x.  GitHub Pro adds 1000 minutes/month.  You can buy per minute at $.008 per linux minute (ratios apply for Mac and Win).

Anecdotally, it seems faster than Travis so far, so your minutes go further.

Overall, I think I will be able to deal with the time limit and/or the expense beyond that.  Actions seems a lot more powerful, easier to work with, and certainly more transparent.  Happy to move on.

Rob


Albrecht Schlosser

unread,
Dec 1, 2020, 8:42:38 AM12/1/20
to fltkc...@googlegroups.com
Hi Rob,

thank you very, very much for taking the time to share your experiences.
This is very much appreciated.

On 12/1/20 7:15 AM Rob McDonald wrote:
> I spent my Thanksgiving weekend dealing with the exact same issue on my
> open source project.  I can fill in a couple of the blanks.
>
> 1) Travis changed the terms, introducing credits.  Everybody gets 10k
> unless they pay.  That isn't 10k/month or /year -- that is 10k ever.  It
> is now a trial license.
> 1 b) Travis doesn't do a good job of communicating this change.  I had
> no idea.

Same here, I didn't notice the change until our CI builds failed. They
did not even appear as failed on GitHub nor did I get a mail about a
failed job as usual if it fails by compiling errors or timeouts.

We're also using GitLab CI where we build our software and the docs.
GitLab did a much better job of communicating *their* changes. They
announced a limit of 1000 build minutes per month (I think for
everybody, at least this applies to my account) one month before the
limit became effective. I had lots of time to trim our build jobs so I'm
pretty sure (95%) that we can cope with this limit unless something
weird happens (like the change you mentioned regarding macOS/homebrew).

> 2) Apple releases Big Sur.
> 3) Homebrew only supports the three most recent versions of MacOS.  2)
> causes them to drop 'official' support for 10.13.
> 4) Travis' default MacOS is 10.13.  Default Travis builds are now
> unsupported by Homebrew.

Thanks for sharing these details as well. I'm not a macOS user, hence
I'm not familiar with these issues.

> 5) Being unsupported by Homebrew causes packages to be built from source
> instead of installed from precompiled binaries.  This takes a lot of
> time.  Remember, MacOS time costs 5x Linux time.  In particular, when
> trying to install/build protobuf, the build falls silent for 10
> minutes.  Travis sees this inactivity and times out the build -- causing
> it to fail and wasting the time that was spent.  For me, that was about
> 45 minutes into a build -- that never got past the system configuration
> stage.  That is 2250 minutes per failed Mac build alone (not counting
> the Windows and Linux builds that get triggered and may not be cancelled
> because you don't know you're on the clock).

It was similar here. After I knew about the circumstances I checked the
build times of our Travis-CI builds. They increased significantly at a
point in the past I don't know exactly but your description explains
this well enough. We suddenly had macOS build times of more than 20-30
minutes (two jobs per build/commit) which accounted for at least 2,000
"Credits" of our 10,000 credits trial period. We ran out of credits at
Nov 22 (last successful build).

BTW, looking at the old logs confirms that homebrew and installing /
building lots of stuff caused the long "build" times.

> This chain of failures is not well documented.  By the time I had
> figured out 2,3,4,5, I ran out of 10,000 units I never knew existed.
> The first indication that Travis was now keeping score was that I was
> now negative in my balance.
>
> This was more than enough reason for me to decide to drop Travis and
> move to another CI solution.
>
> I decided on GitHub Actions.  It didn't exist when I started with
> Travis, but I wish it had.

Same here (it didn't exist when we moved to GitHub and started CI
builds). I knew they were adding "GitHub Actions" but I never found the
time to investigate its benefits and how to use it. I'm going to do this
now.

> Getting set up with Actions was pretty straightforward.  I was even able
> to kill my AppVeyor Windows builds and consolidate everything into GH
> Actions.

This is very good knews. Thanks again.

We never had a Windows CI build because I hesitated to add yet another
CI build platform (we had already Travis-CI and GitLab CI). I knew
AppVeyor existed but I never tried it.

> Before, dealing with uploading artifacts from Travis CI was a
> real pain.  GH Actions made that very simple (AppVeyor was simple about
> that too).

I never needed to upload artifacts from GitHub but I can add that it's
easy with GitLab CI as well.

> GH Actions is on the clock too.  GitHub Free comes with 2000
> minutes/month.  MacOS costs 10x Linux, Windows 2x.  GitHub Pro adds 1000
> minutes/month.  You can buy per minute at $.008 per linux minute (ratios
> apply for Mac and Win).

macOS seems really "expensive" in relation to Linux. Currently I'm
(personally) primarily interested in macOS CI builds because I don't
have a Mac yet (I'll probably get one soon).

> Anecdotally, it seems faster than Travis so far, so your minutes go further.

Good to know.

> Overall, I think I will be able to deal with the time limit and/or the
> expense beyond that.  Actions seems a lot more powerful, easier to work
> with, and certainly more transparent.  Happy to move on.

I'll check that and see if we can deal with it and its limitations. I'm
still hoping to get "OSS Credits" from Travis-CI but that's also one of
those things they don't document well. In fact they only say that you
can get OSS Credits for "approved" open source projects but they don't
tell you how this can be achieved. They only say that you shall contact
the support - which I did on last Thursday (almost 5 days ago) and I'm
still waiting for a useful response. They're likely hopefully overloaded
with requests caused by their recent changes.
> from travis-ci.com <http://travis-ci.com> or how we can make sure
> that we can further build our
> project (free of charge) on travis-ci.com <http://travis-ci.com>,
> all help would be very much
> appreciated.
>
> PPS, FYI: our FLTK project's CI builds are currently running under my
> personal travis-ci.com <http://travis-ci.com> account which is
> linked to my GitHub account
> which is used to trigger the CI builds for every commit - as far as I
> understand how this all works.
>
> --
> You received this message because you are subscribed to the Google
> Groups "fltk.coredev" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to fltkcoredev...@googlegroups.com
> <mailto:fltkcoredev...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/fltkcoredev/b7cd0059-39df-46ad-b250-9dcbe8918bban%40googlegroups.com
> <https://groups.google.com/d/msgid/fltkcoredev/b7cd0059-39df-46ad-b250-9dcbe8918bban%40googlegroups.com?utm_medium=email&utm_source=footer>.

Reply all
Reply to author
Forward
0 new messages