{"action":"created","issue":{"url":"https://api.github.com/repos/firedrakeproject/firedrake/issues/1015","repository_url":"https://api.github.com/repos/firedrakeproject/firedrake","labels_url":"https://api.github.com/repos/firedrakeproject/firedrake/issues/1015/labels{/name}","comments_url":"https://api.github.com/repos/firedrakeproject/firedrake/issues/1015/comments","events_url":"https://api.github.com/repos/firedrakeproject/firedrake/issues/1015/events","html_url":"https://github.com/firedrakeproject/firedrake/issues/1015","id":208412063,"number":1015,"title":"Build system update.","user":{"login":"dham","id":848103,"avatar_url":"https://avatars.githubusercontent.com/u/848103?v=3","gravatar_id":"","url":"https://api.github.com/users/dham","html_url":"https://github.com/dham","followers_url":"https://api.github.com/users/dham/followers","following_url":"https://api.github.com/users/dham/following{/other_user}","gists_url":"https://api.github.com/users/dham/gists{/gist_id}","starred_url":"https://api.github.com/users/dham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dham/subscriptions","organizations_url":"https://api.github.com/users/dham/orgs","repos_url":"https://api.github.com/users/dham/repos","events_url":"https://api.github.com/users/dham/events{/privacy}","received_events_url":"https://api.github.com/users/dham/received_events","type":"User","site_admin":false},"labels":[{"id":59747346,"url":"https://api.github.com/repos/firedrakeproject/firedrake/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":60125931,"url":"https://api.github.com/repos/firedrakeproject/firedrake/labels/testing","name":"testing","color":"5319e7","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-02-17T11:17:40Z","updated_at":"2017-02-20T12:14:08Z","closed_at":null,"body":"We have a number of issues with the build system:\r\n1. We've outgrown Travis.\r\n2. Building PETSc every time consumes a lot of resource and makes builds slow.\r\n3. To a lesser extent the same issue occurs when packages which depend on Firedrake constantly rebuild Firedrake.\r\n4. Drone doesn't support OSX.\r\n\r\nTo address 1., we've procured a Mac mini and a new 16 core server. The question is what to run on them.\r\n\r\nI have had a lot of  success running Jenkins on my home iMac. The new UI looks really good and doesn't suffer from the performance issues we've seen on Drone. Interfacing with Github to trigger builds, report results and share authentication seems to have been pretty flawless. Jenkins also seems to have a much larger and more active community than Drone. I therefore want to raise the possibility of just running Jenkins for our whole build system.\r\n\r\nIn a related move I also have a proposal for dealing with issues 2. and 3.:\r\n5. We could set up a build test for the Firedrake branch of PETSc. \r\n6. On successful builds, this would tar up the build and scp it somewhere (such as the Jenkins server itself). \r\n7. We then change the Firedrake build to simply download this tarball, unpack it and set PETSC_DIR appropriately. \r\n8. Jenkins allows us to keep the build script on the build server, so we could do this without introducing Firedrake-specific commits into PETSc.\r\n9. Similarly, if an environment change necessitates a rebuild of PETSc, this can be achieved simply by rerunning the PETSc build.\r\nA similar approach could be taken to Firedrake as a dependency of other packages.\r\n\r\nI've looked at the issues we had with Jenkins last year. I think I have verified that they all either have been fixed or are no longer applicable, with the one exception of containerised builds. That one I simply haven't tried (because it's in any event not applicable to Mac). As we concluded last year, containerised builds are not a show-stopper."},"comment":{"url":"https://api.github.com/repos/firedrakeproject/firedrake/issues/comments/281064265","html_url":"https://github.com/firedrakeproject/firedrake/issues/1015#issuecomment-281064265","issue_url":"https://api.github.com/repos/firedrakeproject/firedrake/issues/1015","id":281064265,"user":{"login":"tmbgreaves","id":7603619,"avatar_url":"https://avatars.githubusercontent.com/u/7603619?v=3","gravatar_id":"","url":"https://api.github.com/users/tmbgreaves","html_url":"https://github.com/tmbgreaves","followers_url":"https://api.github.com/users/tmbgreaves/followers","following_url":"https://api.github.com/users/tmbgreaves/following{/other_user}","gists_url":"https://api.github.com/users/tmbgreaves/gists{/gist_id}","starred_url":"https://api.github.com/users/tmbgreaves/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmbgreaves/subscriptions","organizations_url":"https://api.github.com/users/tmbgreaves/orgs","repos_url":"https://api.github.com/users/tmbgreaves/repos","events_url":"https://api.github.com/users/tmbgreaves/events{/privacy}","received_events_url":"https://api.github.com/users/tmbgreaves/received_events","type":"User","site_admin":false},"created_at":"2017-02-20T12:14:08Z","updated_at":"2017-02-20T12:14:08Z","body":"1. I've raised this within ESE to figure out what the best route is to request the new power/network provisioning (we already have the space, as we have 1U spare after replacing existing systems with 1U broadberrys).\r\n\r\n2. Absolutely fine to give you sudo on jenkins.ese, David - feel free to prod me if I forget. The system will be up for replacement at some point and we *may* shift it over to AWS (at which point we could turn into buildbot.fluidity-project.net / jenkins.firedrakeproject.org) but I'll make sure you are involved with discussion on that when it happens."}}
{"actor":{"display_login":"tmbgreaves"}}