[Github-comments] [geany-plugins] travis: Add a Travis CI settings file using its new infrastructure (#394)

Colomban Wendling notifications at xxxxx
Mon Mar 7 19:49:05 UTC 2016


Would replace #172, which see also.

This is a new shot at enabling Travis CI on Geany-Plugins.  This time, it uses the new-style infrastructure which enables caching and is quite faster to start up.

* Pros:
  * Faster to start up
  * Has cache support
    * We can build Geany and cache the result, meaning we can rebuild it only when it has changed.  This makes me think its better than using nightly *.deb*s, as we have the real latest version in all cases, and zero OS package compatibility issue.
    * *ccache* support, meaning faster rebuilds
  
* Cons:
  * No sudo, which means:
    * We need their approval for new packages.  We currently miss:
      * *libvte-dev* (for several plugins, incl. *Debugger*, *Scope* and *MultiTerm*)
      * *libwnck-dev* (for *DevHelp*)
      * *libgtkspell-dev* (for *GeanyVC*'s spellchecking support on GTK2)
      * *libgtkspell-3-dev* (for *GeanyVC*'s spellchecking support on GTK3)
      
      this can however probably be addressed by using they approval procedure for those packages.  If we chose this version, I'll submit the requests there.
    
    * No 3rd party repositories (e.g. we have to build Geany there too).  This should not be a real problem with the caching, in my tests I saw it wasting about 7s when the cache is available, and something like 2 minutes without cache.

IMO, the pros clearly beat the cons -- unless we really can't get the needed packages, but I'm confident we can.

---

Unrelated to whether we use the new infrastructure or the old one, we run on Ubuntu 12.04.  This is good in the sense we test an old-ish system; but it's bad as in it doesn't have *libpython-dev* (for *GeanyPy*) nor *libgit2-dev >= 0.21* (for *GitChangeBar*).

We *could* try and use their [beta Ubuntu 14.04 builders](https://docs.travis-ci.com/user/trusty-ci-environment/), which allows `sudo`, *and* has cache.  Sounds nice, but:

* It's quite a bit slower than their 12.04 "new" infrastructure (build takes minutes to start, not seconds: not sure about speed after startup)
* Ubuntu 14.04's *libgit2-dev* is too old (0.19) for *GitChangeBar*, so we "only" gain *GeanyPy*
* Newer system, while good, also means less backward compatibility checks.

I didn't pursue it for the moment because of these which make me think we should at least wait for their setup to get faster seeing the limited benefits.

---

Setting up this, I found 3 blocker issues, including 2 actual bugs:
* #392: `make check` breaks if MultiTerm is disabled.  So actually missing *libvte-dev* was useful :)
* #393: Ubuntu 12.04's cppcheck is stupid
* #391: Ubuntu 12.04's cppcheck is clever

---

Enough chatter, whatcha guys thinkin'?
You can view, comment on, or merge this pull request online at:

  https://github.com/geany/geany-plugins/pull/394

-- Commit Summary --

  * travis: Add a Travis CI settings file using its new infrastructure

-- File Changes --

    A .travis.yml (106)

-- Patch Links --

https://github.com/geany/geany-plugins/pull/394.patch
https://github.com/geany/geany-plugins/pull/394.diff

---
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/pull/394
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20160307/ed54f14b/attachment.html>


More information about the Github-comments mailing list