[chromium-dev] Re: Chromium core principles and multiplatform development?
On Thu, Sep 10, 2009 at 6:19 PM, Paweł Hajdan Jr.phajdan...@chromium.org wrote: On Thu, Sep 10, 2009 at 10:16, Dan Kegel d...@kegel.com wrote: In this case, the code may have been submitted by a committer without using the trybots (tsk, tsk). We don't currently mention the trybots on dev.chromium.org. Is it time to? Submitting without trybots and breaking the compile? Doesn't look good to me. I think we should mention that all committers should use the trybots (they have access to them). You can break the compile while the trybots are green - my very first commit did this. Seems like we need more trybots, maybe? --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
On Thu, Sep 10, 2009 at 2:05 PM, Jacob Mandelson ja...@mandelson.org wrote: It was more surprised that I was expected to have built chrome at home under multiple platforms. I wouldn't say that we expect people to build chrome at home under multiple platforms. We expect patches not to break any platform--how you do that if you're touching shared code is up to you. Committers have access to try bots specifically so that they can test compilation on platforms they don't have handy, or try patches on behalf of people who don't have commit access yet. There are also plenty of people who can help review patches with an eye towards catching potential platform problems before they land in the tree. I think most coders out there don't have set ups that let them build on all of the three. Requiring that substantially restricts your contributor pool. We don't put any requirements on what setups contributors use. We only put requirements on the effects on the tree. You could submit patches without building them at all, as long as they didn't break anything :-). It's not an unreasonable policy, but it is an atypical one, so I think it should be spelled out in the contributing pages. Yes, we can certainly spell things out better, It's not that in other cross-platform projects Mac or Linux developers don't have to worry about Windows, it's that they aren't expected to have Visual Studio and people that do have it will cooperate with them on problems. Plus there's all the Windows developers that don't happen to have Macintoshes with XCode around... We have many people on all platforms who are happy to cooperate with anyone on problems. --Amanda --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
On Fri, Sep 11, 2009 at 4:28 PM, Jacob Mandelson ja...@mandelson.org wrote: The trybot is restricted access to committers only. I'm not a committer, and as such I don't have access. go/chrometryserver M-A --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
I agree it should be the responsibility of the committer to make sure the code passes the trybots on all platforms (I have in the past made the mistake of thinking the trybots were open to everyone, but they are not). I think many committers will not be willing to go through very many iterations of download/apply patch, send to try bot, sort out whether the errors are due to the patch, send errors back to contributor, so non-committers will likely meet with difficulty when trying to get patches in that they only tried on a single platform. So I don't think it's necessarily a _requirement_ to have all three platforms sitting around but having at least one windows and one posix will greatly expedite the process. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
I generally leave the figure out the errors bit to the committer. Once you've made sure a patch isn't malicious: git checkout origin git cl patch -b theirname 12345 # code review number git try git checkout branch_i_was_working_on You can then point them to the try server build page and say search for your name for errors if it fails. On Fri, Sep 11, 2009 at 6:58 PM, Evan Stade est...@chromium.org wrote: I agree it should be the responsibility of the committer to make sure the code passes the trybots on all platforms (I have in the past made the mistake of thinking the trybots were open to everyone, but they are not). I think many committers will not be willing to go through very many iterations of download/apply patch, send to try bot, sort out whether the errors are due to the patch, send errors back to contributor, so non-committers will likely meet with difficulty when trying to get patches in that they only tried on a single platform. So I don't think it's necessarily a _requirement_ to have all three platforms sitting around but having at least one windows and one posix will greatly expedite the process. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
On Fri, Sep 11, 2009 at 7:03 PM, Evan Martin e...@chromium.org wrote: I generally leave the figure out the errors bit to the committer. I assume you mean the contributor. The problem is then that you are trusting a non-committer to tell you whether to commit, which defeats the purpose of having committer access. Once you've made sure a patch isn't malicious: git checkout origin git cl patch -b theirname 12345 # code review number git try git checkout branch_i_was_working_on You can then point them to the try server build page and say search for your name for errors if it fails. On Fri, Sep 11, 2009 at 6:58 PM, Evan Stade est...@chromium.org wrote: I agree it should be the responsibility of the committer to make sure the code passes the trybots on all platforms (I have in the past made the mistake of thinking the trybots were open to everyone, but they are not). I think many committers will not be willing to go through very many iterations of download/apply patch, send to try bot, sort out whether the errors are due to the patch, send errors back to contributor, so non-committers will likely meet with difficulty when trying to get patches in that they only tried on a single platform. So I don't think it's necessarily a _requirement_ to have all three platforms sitting around but having at least one windows and one posix will greatly expedite the process. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
We could do this instead:gcl try --url http://url/to/patch.diff --email contribut...@email.com --issue rietveldIssueNumber No need to download and apply the patch. - Mohamed Mansour On Fri, Sep 11, 2009 at 10:03 PM, Evan Martin e...@chromium.org wrote: I generally leave the figure out the errors bit to the committer. Once you've made sure a patch isn't malicious: git checkout origin git cl patch -b theirname 12345 # code review number git try git checkout branch_i_was_working_on You can then point them to the try server build page and say search for your name for errors if it fails. On Fri, Sep 11, 2009 at 6:58 PM, Evan Stade est...@chromium.org wrote: I agree it should be the responsibility of the committer to make sure the code passes the trybots on all platforms (I have in the past made the mistake of thinking the trybots were open to everyone, but they are not). I think many committers will not be willing to go through very many iterations of download/apply patch, send to try bot, sort out whether the errors are due to the patch, send errors back to contributor, so non-committers will likely meet with difficulty when trying to get patches in that they only tried on a single platform. So I don't think it's necessarily a _requirement_ to have all three platforms sitting around but having at least one windows and one posix will greatly expedite the process. --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
On Thu, Sep 10, 2009 at 1:03 PM, Dan Kegel d...@kegel.com wrote: An external contributor was recently surprised that a change tested on linux was reverted because it broke the build on windows. (His mental model was that linux developers don't have to worry about other platforms, that's what windows developers are for.) [...] Anyone think we need to add some text that emphasizes that developers need to worry about more than just their own platform? Yes--since One product, multiple platforms is also a core principle in practice even if it didn't make it into Ben's list. I'll volunteer to write up something on the topic this weekend if no one else beats me to it. --Amanda --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
For me it was obvious, but if people are surprised by this, then improving the documentation is probably a good idea. Just curious... the change has been submitted to trybots before landing, hasn't it? On Thu, Sep 10, 2009 at 10:03, Dan Kegel d...@kegel.com wrote: An external contributor was recently surprised that a change tested on linux was reverted because it broke the build on windows. (His mental model was that linux developers don't have to worry about other platforms, that's what windows developers are for.) He said that none of the doc at dev.chromium.org covered this, so I had a look. http://dev.chromium.org/developers/core-principles lists four core categories: Speed, Security, Stability, and Simplicity. Under Stability, it says We try to write as many automated tests as we can, to make sure that the product is still functioning as intended. We close the tree when the tests fail. We revert changes that break them. That seems to cover it, but it is a bit buried, and it doesn't really announce our commitment to full support of all three platforms. Anyone think we need to add some text that emphasizes that developers need to worry about more than just their own platform? --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
OK, we should probably improve http://dev.chromium.org/developers/contributing-code similarly, then. In this case, the code may have been submitted by a committer without using the trybots (tsk, tsk). We don't currently mention the trybots on dev.chromium.org. Is it time to? On Thu, Sep 10, 2009 at 10:07 AM, Paweł Hajdan Jr.phajdan...@chromium.org wrote: For me it was obvious, but if people are surprised by this, then improving the documentation is probably a good idea. Just curious... the change has been submitted to trybots before landing, hasn't it? On Thu, Sep 10, 2009 at 10:03, Dan Kegel d...@kegel.com wrote: An external contributor was recently surprised that a change tested on linux was reverted because it broke the build on windows. (His mental model was that linux developers don't have to worry about other platforms, that's what windows developers are for.) He said that none of the doc at dev.chromium.org covered this, so I had a look. http://dev.chromium.org/developers/core-principles lists four core categories: Speed, Security, Stability, and Simplicity. Under Stability, it says We try to write as many automated tests as we can, to make sure that the product is still functioning as intended. We close the tree when the tests fail. We revert changes that break them. That seems to cover it, but it is a bit buried, and it doesn't really announce our commitment to full support of all three platforms. Anyone think we need to add some text that emphasizes that developers need to worry about more than just their own platform? --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
On Thu, Sep 10, 2009 at 10:16, Dan Kegel d...@kegel.com wrote: In this case, the code may have been submitted by a committer without using the trybots (tsk, tsk). We don't currently mention the trybots on dev.chromium.org. Is it time to? Submitting without trybots and breaking the compile? Doesn't look good to me. I think we should mention that all committers should use the trybots (they have access to them). --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
An external contributor was recently surprised that a change tested on linux was reverted because it broke the build on windows. (His mental model was that linux developers don't have to worry about other platforms, that's what windows developers are for.) [...] Anyone think we need to add some text that emphasizes that developers need to worry about more than just their own platform? Yes--since One product, multiple platforms is also a core principle in practice even if it didn't make it into Ben's list. I'll volunteer to write up something on the topic this weekend if no one else beats me to it. While you're on it, could you add something like In general, be consistent with the platform. We believe that users switch between applications more often than between operating systems, so it is more important to be consistent with the platform than to be consistent with chrome on other platforms. This is not true in areas where chrome tries to innovate, or where the platform behavior is measurably more confusing for users of that platform. or similar. As far as I understand, that's a guiding principle for the cross-platform work, and having that somewhere I can link to would be useful. Nico --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
I blogged about that when we kicked off the additional platform efforts, though it's probably a good idea to say something about it on the site as well. --Amanda On Thu, Sep 10, 2009 at 1:20 PM, Nico Weber tha...@chromium.org wrote: An external contributor was recently surprised that a change tested on linux was reverted because it broke the build on windows. (His mental model was that linux developers don't have to worry about other platforms, that's what windows developers are for.) [...] Anyone think we need to add some text that emphasizes that developers need to worry about more than just their own platform? Yes--since One product, multiple platforms is also a core principle in practice even if it didn't make it into Ben's list. I'll volunteer to write up something on the topic this weekend if no one else beats me to it. While you're on it, could you add something like In general, be consistent with the platform. We believe that users switch between applications more often than between operating systems, so it is more important to be consistent with the platform than to be consistent with chrome on other platforms. This is not true in areas where chrome tries to innovate, or where the platform behavior is measurably more confusing for users of that platform. or similar. As far as I understand, that's a guiding principle for the cross-platform work, and having that somewhere I can link to would be useful. Nico -- Portability is generally the result of advance planning rather than trench warfare involving #ifdef -- Henry Spencer (1992) --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
Sure. I'd run anything I write up past Ben, brian, etc. first before posting anything. --Amanda On Thu, Sep 10, 2009 at 3:07 PM, Peter Kasting pkast...@google.com wrote: On Thu, Sep 10, 2009 at 10:20 AM, Nico Weber tha...@chromium.org wrote: While you're on it, could you add something like In general, be consistent with the platform. We believe that users switch between applications more often than between operating systems, so it is more important to be consistent with the platform than to be consistent with chrome on other platforms. This is not true in areas where chrome tries to innovate, or where the platform behavior is measurably more confusing for users of that platform. or similar. As far as I understand, that's a guiding principle for the cross-platform work, and having that somewhere I can link to would be useful. Be careful that whatever you say here gets Ben's approval as his position on platform consistency is not necessarily equivalent to this. PK -- Portability is generally the result of advance planning rather than trench warfare involving #ifdef -- Henry Spencer (1992) --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---
[chromium-dev] Re: Chromium core principles and multiplatform development?
On Thu, Sep 10, 2009 at 10:19 AM, Paweł Hajdan Jr. phajdan...@chromium.orgwrote: On Thu, Sep 10, 2009 at 10:16, Dan Kegel d...@kegel.com wrote: In this case, the code may have been submitted by a committer without using the trybots (tsk, tsk). We don't currently mention the trybots on dev.chromium.org. Is it time to? Submitting without trybots and breaking the compile? Doesn't look good to me. I think we should mention that all committers should use the trybots (they have access to them). +1 The tooling makes it very obvious that you have to not break any of the main platforms. -Darin --~--~-~--~~~---~--~~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~--~~~~--~~--~--~---