{"action":"created","issue":{"url":"https://api.github.com/repos/mapnik/mapnik/issues/3321","repository_url":"https://api.github.com/repos/mapnik/mapnik","labels_url":"https://api.github.com/repos/mapnik/mapnik/issues/3321/labels{/name}","comments_url":"https://api.github.com/repos/mapnik/mapnik/issues/3321/comments","events_url":"https://api.github.com/repos/mapnik/mapnik/issues/3321/events","html_url":"https://github.com/mapnik/mapnik/pull/3321","id":136695454,"number":3321,"title":"rsync ccache for travis osx builds","user":{"login":"lightmare","id":1419852,"avatar_url":"https://avatars.githubusercontent.com/u/1419852?v=3","gravatar_id":"","url":"https://api.github.com/users/lightmare","html_url":"https://github.com/lightmare","followers_url":"https://api.github.com/users/lightmare/followers","following_url":"https://api.github.com/users/lightmare/following{/other_user}","gists_url":"https://api.github.com/users/lightmare/gists{/gist_id}","starred_url":"https://api.github.com/users/lightmare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lightmare/subscriptions","organizations_url":"https://api.github.com/users/lightmare/orgs","repos_url":"https://api.github.com/users/lightmare/repos","events_url":"https://api.github.com/users/lightmare/events{/privacy}","received_events_url":"https://api.github.com/users/lightmare/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-26T13:21:21Z","updated_at":"2016-02-26T13:33:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mapnik/mapnik/pulls/3321","html_url":"https://github.com/mapnik/mapnik/pull/3321","diff_url":"https://github.com/mapnik/mapnik/pull/3321.diff","patch_url":"https://github.com/mapnik/mapnik/pull/3321.patch"},"body":"First a few notes about `.travis.yml` changes\r\n - in `before_install` only `deps/mapbox/variant` submodule is updated\r\n - in `script` after `make`, test data is downloaded (remaining submodules updated) and `make test` run only if previous `make` succeeded *and less than 40 minutes elapsed*\r\n - coveralls and benchmarks are only run if everything succeeded and we're below 45 minutes\r\n\r\nThis effectively means that a build that would've successfully finished in 47 minutes will now probably skip the last two steps and thus fail. On the other hand, a build that would've been killed while in the middle of running tests or benchmarks will skip those and thus have a chance to upload cache -- which should help subsequent builds finish sooner (including re-running this one).\r\n\r\nRequired repository settings on travis:\r\n - secret environment variable `RCACHE_PASSWORD`\r\n - public environment variable `RCACHE_MODULE` or `RCACHE_REMOTE`\r\n   - `RCACHE_MODULE` should be a double-colon path to rsync daemon\r\n   - if you don't specify `RCACHE_MODULE`, it will be composed as `RCACHE_REMOTE:user`, with user obtained from `TRAVIS_REPO_SLUG`\r\n\r\nI created a module for user \"mapnik\" on my cache store, will send details to @springmeyer. If you want to bake your own, it needs to be set up such that:\r\n - the given module is readable by user \"travis-ci\" using password \"ic+sivart\"\r\n - cache can be uploaded as the user obtained from `TRAVIS_REPO_SLUG` using `RCACHE_PASSWORD`\r\n\r\nExample `/etc/rsyncd.conf` (rsync 3.1 or newer required for colon-options in `auth users`)\r\n```conf\r\nsecrets file = /www/travis-cache/rsyncd.secrets\r\n#hosts allow = 208.78.110.199\r\n#hosts deny =\r\nmax connections = 10\r\n\r\nuse chroot = yes\r\nread only = yes\r\nlist = yes\r\nuid = nobody\r\ngid = nogroup\r\n\r\nrefuse options = checksum partial partial-dir\r\n\r\n[travis-cache:lightmare]\r\n        comment = cache for builds on travis\r\n        path = /www/travis-cache/lightmare\r\n        log file = /www/travis-cache/lightmare.log\r\n        auth users = lightmare:rw *:ro\r\n\r\n[travis-cache:mapnik]\r\n        comment = cache for builds on travis\r\n        path = /www/travis-cache/mapnik\r\n        log file = /www/travis-cache/mapnik.log\r\n        auth users = mapnik:rw *:ro\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/mapnik/mapnik/issues/comments/189275356","html_url":"https://github.com/mapnik/mapnik/pull/3321#issuecomment-189275356","issue_url":"https://api.github.com/repos/mapnik/mapnik/issues/3321","id":189275356,"user":{"login":"lightmare","id":1419852,"avatar_url":"https://avatars.githubusercontent.com/u/1419852?v=3","gravatar_id":"","url":"https://api.github.com/users/lightmare","html_url":"https://github.com/lightmare","followers_url":"https://api.github.com/users/lightmare/followers","following_url":"https://api.github.com/users/lightmare/following{/other_user}","gists_url":"https://api.github.com/users/lightmare/gists{/gist_id}","starred_url":"https://api.github.com/users/lightmare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lightmare/subscriptions","organizations_url":"https://api.github.com/users/lightmare/orgs","repos_url":"https://api.github.com/users/lightmare/repos","events_url":"https://api.github.com/users/lightmare/events{/privacy}","received_events_url":"https://api.github.com/users/lightmare/received_events","type":"User","site_admin":false},"created_at":"2016-02-26T13:33:22Z","updated_at":"2016-02-26T13:33:22Z","body":"For some reason it doesn't work with COVERAGE=true -- ccache generates same-named files each time, but doesn't use them for subsequent runs."}}