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