{"action":"opened","issue":{"url":"https://api.github.com/repos/akkadotnet/akka.net/issues/1512","labels_url":"https://api.github.com/repos/akkadotnet/akka.net/issues/1512/labels{/name}","comments_url":"https://api.github.com/repos/akkadotnet/akka.net/issues/1512/comments","events_url":"https://api.github.com/repos/akkadotnet/akka.net/issues/1512/events","html_url":"https://github.com/akkadotnet/akka.net/issues/1512","id":120858812,"number":1512,"title":"Akka.NET CI Structure Changes","user":{"login":"Aaronontheweb","id":326939,"avatar_url":"https://avatars.githubusercontent.com/u/326939?v=3","gravatar_id":"","url":"https://api.github.com/users/Aaronontheweb","html_url":"https://github.com/Aaronontheweb","followers_url":"https://api.github.com/users/Aaronontheweb/followers","following_url":"https://api.github.com/users/Aaronontheweb/following{/other_user}","gists_url":"https://api.github.com/users/Aaronontheweb/gists{/gist_id}","starred_url":"https://api.github.com/users/Aaronontheweb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Aaronontheweb/subscriptions","organizations_url":"https://api.github.com/users/Aaronontheweb/orgs","repos_url":"https://api.github.com/users/Aaronontheweb/repos","events_url":"https://api.github.com/users/Aaronontheweb/events{/privacy}","received_events_url":"https://api.github.com/users/Aaronontheweb/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/akkadotnet/akka.net/labels/discussion","name":"discussion","color":"0052cc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-07T20:20:18Z","updated_at":"2015-12-07T20:20:18Z","closed_at":null,"body":"I can't take credit for this idea - it was something @schatekar suggested that we do in an Akka.Cluster contributor's meeting a while ago.\r\n\r\nI would like to change the current build structure from an \"all or nothing\" build process to one that looks like this:\r\n\r\nhttp://cloud.smartdraw.com/share.aspx/?pubDocShare=374D5BCD2206BDB3D23A4D1121F9D49F3F7\r\n\r\nIdea is to improve the following:\r\n\r\n1. **Make failures granular and obvious** - Going forward this will indicate where the build failed in Github's build step report on each PR, rather than one giant all-or-nothing red `X`.\r\n1. **Run multiple build steps in parallel** - no need to wait for unit tests to run before we kick off the multi-node tests and performance tests. I'm not entirely sure how TC will accomplish this but I'm going to find out.\r\n1. **Make the build process more extensible** - performance tests are a new category we're going to be adding to the build process soon. But who knows? Maybe we'll also add some additional static analysis at some point in the future. Purpose is to make that more explicit as independent CI steps rather than implementation details in FAKE.\r\n1. **Support multiple-platform builds more easily** - whenever we support CoreCLR or Mono fixes their toolchain, this will make it easier to break out reporting by platform."}}