{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/ApplicationInsights-Home/issues/205","repository_url":"https://api.github.com/repos/Microsoft/ApplicationInsights-Home","labels_url":"https://api.github.com/repos/Microsoft/ApplicationInsights-Home/issues/205/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/ApplicationInsights-Home/issues/205/comments","events_url":"https://api.github.com/repos/Microsoft/ApplicationInsights-Home/issues/205/events","html_url":"https://github.com/Microsoft/ApplicationInsights-Home/issues/205","id":313478359,"number":205,"title":"Process improvement for making bond changes (require bond builds to merge PRs?)","user":{"login":"macrogreg","id":20691812,"avatar_url":"https://avatars3.githubusercontent.com/u/20691812?v=4","gravatar_id":"","url":"https://api.github.com/users/macrogreg","html_url":"https://github.com/macrogreg","followers_url":"https://api.github.com/users/macrogreg/followers","following_url":"https://api.github.com/users/macrogreg/following{/other_user}","gists_url":"https://api.github.com/users/macrogreg/gists{/gist_id}","starred_url":"https://api.github.com/users/macrogreg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/macrogreg/subscriptions","organizations_url":"https://api.github.com/users/macrogreg/orgs","repos_url":"https://api.github.com/users/macrogreg/repos","events_url":"https://api.github.com/users/macrogreg/events{/privacy}","received_events_url":"https://api.github.com/users/macrogreg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"SergeyKanzhelev","id":9950081,"avatar_url":"https://avatars2.githubusercontent.com/u/9950081?v=4","gravatar_id":"","url":"https://api.github.com/users/SergeyKanzhelev","html_url":"https://github.com/SergeyKanzhelev","followers_url":"https://api.github.com/users/SergeyKanzhelev/followers","following_url":"https://api.github.com/users/SergeyKanzhelev/following{/other_user}","gists_url":"https://api.github.com/users/SergeyKanzhelev/gists{/gist_id}","starred_url":"https://api.github.com/users/SergeyKanzhelev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SergeyKanzhelev/subscriptions","organizations_url":"https://api.github.com/users/SergeyKanzhelev/orgs","repos_url":"https://api.github.com/users/SergeyKanzhelev/repos","events_url":"https://api.github.com/users/SergeyKanzhelev/events{/privacy}","received_events_url":"https://api.github.com/users/SergeyKanzhelev/received_events","type":"User","site_admin":false},"assignees":[{"login":"SergeyKanzhelev","id":9950081,"avatar_url":"https://avatars2.githubusercontent.com/u/9950081?v=4","gravatar_id":"","url":"https://api.github.com/users/SergeyKanzhelev","html_url":"https://github.com/SergeyKanzhelev","followers_url":"https://api.github.com/users/SergeyKanzhelev/followers","following_url":"https://api.github.com/users/SergeyKanzhelev/following{/other_user}","gists_url":"https://api.github.com/users/SergeyKanzhelev/gists{/gist_id}","starred_url":"https://api.github.com/users/SergeyKanzhelev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SergeyKanzhelev/subscriptions","organizations_url":"https://api.github.com/users/SergeyKanzhelev/orgs","repos_url":"https://api.github.com/users/SergeyKanzhelev/repos","events_url":"https://api.github.com/users/SergeyKanzhelev/events{/privacy}","received_events_url":"https://api.github.com/users/SergeyKanzhelev/received_events","type":"User","site_admin":false},{"login":"Dmitry-Matveev","id":12158043,"avatar_url":"https://avatars0.githubusercontent.com/u/12158043?v=4","gravatar_id":"","url":"https://api.github.com/users/Dmitry-Matveev","html_url":"https://github.com/Dmitry-Matveev","followers_url":"https://api.github.com/users/Dmitry-Matveev/followers","following_url":"https://api.github.com/users/Dmitry-Matveev/following{/other_user}","gists_url":"https://api.github.com/users/Dmitry-Matveev/gists{/gist_id}","starred_url":"https://api.github.com/users/Dmitry-Matveev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dmitry-Matveev/subscriptions","organizations_url":"https://api.github.com/users/Dmitry-Matveev/orgs","repos_url":"https://api.github.com/users/Dmitry-Matveev/repos","events_url":"https://api.github.com/users/Dmitry-Matveev/events{/privacy}","received_events_url":"https://api.github.com/users/Dmitry-Matveev/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-04-11T20:34:53Z","updated_at":"2018-04-11T21:55:19Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Hi Core SDK Folks,\r\n\r\nIn this email I am flagging an issue with dealing with making bond updates.\r\nI do not have to do this often, and I will am OK with however you choose to prioritize and address this (or not). My goal is merely to bring this to your attention and to make a suggestion:\r\n\r\nMy goal was to add a single field to `DataPoint.bond`. I was following the existing process that Sergey also recently [brought ](https://github.com/Microsoft/ApplicationInsights-Home/blob/master/EndpointSpecs/schema-generation.md)to paper.\r\nAfter making changes in the Home repo as required, I went to the DotNet repo and run the `generateSchema.ps1` tool.\r\nOne of the things the tool does is to copy bond files from the Home repo into the appropriate local repo folder.\r\nThis resulted in two surprises of varying degree of unpleasantness:\r\n\r\n1.\tI discovered that a bunch of changes were copied that I did not make. Some of them, over a year old.\r\nAfter thinking about it, I realized that this is OK. After all, I also made changes, and I am immediately applying them to the .Net SDK and not to other SDKs (we can do this as a later time).\r\n**Suggestion**: It would be great if the `generateSchema.ps1` tool would support a filter for what it copies. I can use source control to find and undo all the changes I do not want, but they are embedded into several files. It’s wasted work.\r\n\r\n1.\tSome of these old changes are _invalid_ bond changes. E.g., I discovered at least two. One was very recent and I worked with the author to fix it. Another is over a year old, where in `RemoteDependencyData.bond`, it says: “`120: nullable<bool> \t success = true;`” (previously this field was non-nullable). However, the [bond spec](http://microsoft.github.io/bond/manual/bond_cs.html#nullable-types) clearly says: “_The default value for a field of a nullable type is always implicitly set to null. Explicit default values for nullable fields are not supported_.”\r\nI think this is not OK. We should have a process that ensures that any changes made to Bond in the Home repo can be built successfully.\r\n**Suggestion**: Require some kind of successful bond build before approving PRs in Hope repo that touch Bond files.\r\nNote: Undoing these changes in the DotNet repo will allow me to work around this, but the problem is that it will never work, and this will need to be a permanent workaround until the original issue is fixed. \r\n"},"comment":{"url":"https://api.github.com/repos/Microsoft/ApplicationInsights-Home/issues/comments/380608259","html_url":"https://github.com/Microsoft/ApplicationInsights-Home/issues/205#issuecomment-380608259","issue_url":"https://api.github.com/repos/Microsoft/ApplicationInsights-Home/issues/205","id":380608259,"user":{"login":"SergeyKanzhelev","id":9950081,"avatar_url":"https://avatars2.githubusercontent.com/u/9950081?v=4","gravatar_id":"","url":"https://api.github.com/users/SergeyKanzhelev","html_url":"https://github.com/SergeyKanzhelev","followers_url":"https://api.github.com/users/SergeyKanzhelev/followers","following_url":"https://api.github.com/users/SergeyKanzhelev/following{/other_user}","gists_url":"https://api.github.com/users/SergeyKanzhelev/gists{/gist_id}","starred_url":"https://api.github.com/users/SergeyKanzhelev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SergeyKanzhelev/subscriptions","organizations_url":"https://api.github.com/users/SergeyKanzhelev/orgs","repos_url":"https://api.github.com/users/SergeyKanzhelev/repos","events_url":"https://api.github.com/users/SergeyKanzhelev/events{/privacy}","received_events_url":"https://api.github.com/users/SergeyKanzhelev/received_events","type":"User","site_admin":false},"created_at":"2018-04-11T21:55:19Z","updated_at":"2018-04-11T21:55:19Z","author_association":"MEMBER","body":"Feel free to contribute. Both are great suggestions! The issue is we do not have enough time to make improvements in this process. And since it was not happening too often - it was OK to keep it this way. You can see that our bond generator tool is a mess and need a little bit of love as well."}}
{"actor":{"display_login":"SergeyKanzhelev"}}