FLTK logo

Re: [fltk.coredev] Re: GitHub CI @ travis-ci.com

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.coredev  ]
 
Previous Message ]New Message | Reply ]Next Message ]

Re: Re: GitHub CI @ travis-ci.com Albrecht Schlosser Dec 01, 2020  
 
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.

On Monday, November 30, 2020 at 12:29:59 PM UTC-8 Albrecht Schlosser wrote:

    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 <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+unsubscribe@googlegroups.com <mailto:fltkcoredev+unsubscribe@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>.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkcoredev/bf4822bf-ac4d-f523-946e-ac333489d9cb%40online.de.
Direct Link to Message ]
 
     
Previous Message ]New Message | Reply ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.