{"action":"created","issue":{"url":"https://api.github.com/repos/geany/geany-plugins/issues/394","repository_url":"https://api.github.com/repos/geany/geany-plugins","labels_url":"https://api.github.com/repos/geany/geany-plugins/issues/394/labels{/name}","comments_url":"https://api.github.com/repos/geany/geany-plugins/issues/394/comments","events_url":"https://api.github.com/repos/geany/geany-plugins/issues/394/events","html_url":"https://github.com/geany/geany-plugins/pull/394","id":139075381,"number":394,"title":"Enable Travis CI v2","user":{"login":"b4n","id":793526,"avatar_url":"https://avatars.githubusercontent.com/u/793526?v=3","gravatar_id":"","url":"https://api.github.com/users/b4n","html_url":"https://github.com/b4n","followers_url":"https://api.github.com/users/b4n/followers","following_url":"https://api.github.com/users/b4n/following{/other_user}","gists_url":"https://api.github.com/users/b4n/gists{/gist_id}","starred_url":"https://api.github.com/users/b4n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b4n/subscriptions","organizations_url":"https://api.github.com/users/b4n/orgs","repos_url":"https://api.github.com/users/b4n/repos","events_url":"https://api.github.com/users/b4n/events{/privacy}","received_events_url":"https://api.github.com/users/b4n/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/geany/geany-plugins/labels/enhancement","name":"enhancement","color":"0052cc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-03-07T19:49:03Z","updated_at":"2016-03-08T00:20:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/geany/geany-plugins/pulls/394","html_url":"https://github.com/geany/geany-plugins/pull/394","diff_url":"https://github.com/geany/geany-plugins/pull/394.diff","patch_url":"https://github.com/geany/geany-plugins/pull/394.patch"},"body":"Would replace #172, which see also.\r\n\r\nThis 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.\r\n\r\n* Pros:\r\n  * Faster to start up\r\n  * Has cache support\r\n    * 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.\r\n    * *ccache* support, meaning faster rebuilds\r\n  \r\n* Cons:\r\n  * No sudo, which means:\r\n    * We need their approval for new packages.  We currently miss:\r\n      * [*libvte-dev*](https://github.com/travis-ci/apt-package-whitelist/issues/2675) (for several plugins, incl. *Debugger*, *Scope* and *MultiTerm*)\r\n      * [*libwnck-dev*](https://github.com/travis-ci/apt-package-whitelist/issues/2677) (for *DevHelp*)\r\n      * [*libgtkspell-dev*](https://github.com/travis-ci/apt-package-whitelist/issues/2678) (for *GeanyVC*'s spellchecking support on GTK2)\r\n      * [*libgtkspell-3-dev*](https://github.com/travis-ci/apt-package-whitelist/issues/2679) (for *GeanyVC*'s spellchecking support on GTK3)\r\n      \r\n      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.\r\n    \r\n    * 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.\r\n\r\nIMO, the pros clearly beat the cons -- unless we really can't get the needed packages, but I'm confident we can.\r\n\r\n---\r\n\r\nUnrelated 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*).\r\n\r\nWe *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:\r\n\r\n* 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)\r\n* Ubuntu 14.04's *libgit2-dev* is too old (0.19) for *GitChangeBar*, ~~so we \"only\" gain *GeanyPy*~~\r\n* Newer system, while good, also means less backward compatibility checks.\r\n\r\nI 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.\r\n\r\n---\r\n\r\nSetting up this, I found 3 blocker issues, including 2 actual bugs:\r\n* ~~#392~~: `make check` breaks if MultiTerm is disabled.  So actually missing *libvte-dev* was useful :)\r\n* #393: Ubuntu 12.04's cppcheck is stupid\r\n* #391: Ubuntu 12.04's cppcheck is clever\r\n\r\n---\r\n\r\nEnough chatter, whatcha guys thinkin'?"},"comment":{"url":"https://api.github.com/repos/geany/geany-plugins/issues/comments/193522492","html_url":"https://github.com/geany/geany-plugins/pull/394#issuecomment-193522492","issue_url":"https://api.github.com/repos/geany/geany-plugins/issues/394","id":193522492,"user":{"login":"b4n","id":793526,"avatar_url":"https://avatars.githubusercontent.com/u/793526?v=3","gravatar_id":"","url":"https://api.github.com/users/b4n","html_url":"https://github.com/b4n","followers_url":"https://api.github.com/users/b4n/followers","following_url":"https://api.github.com/users/b4n/following{/other_user}","gists_url":"https://api.github.com/users/b4n/gists{/gist_id}","starred_url":"https://api.github.com/users/b4n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b4n/subscriptions","organizations_url":"https://api.github.com/users/b4n/orgs","repos_url":"https://api.github.com/users/b4n/repos","events_url":"https://api.github.com/users/b4n/events{/privacy}","received_events_url":"https://api.github.com/users/b4n/received_events","type":"User","site_admin":false},"created_at":"2016-03-08T00:20:07Z","updated_at":"2016-03-08T00:20:07Z","body":"Added a commit building and caching libgit2 0.21.5 as it's just not available in Ubuntu 12.04 or even 14.04.  It's small, it builds quickly (less than 10s apparently), and it'll be cached basically forever (until dependency bump or cache expiration, if such a thing exists) once built.\r\nWith this, GitChangeBar builds fine."}}