Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Issue 1402923003: Landmines support to ease clobbering builds (Closed)

Created:
5 years, 2 months ago by kjellander_webrtc
Modified:
5 years, 1 month ago
CC:
webrtc-reviews_webrtc.org, yujie_mao (webrtc), Andrew MacDonald, tterriberry_mozilla.com, qiang.lu, niklas.enbom, peah-webrtc
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Landmines support to ease clobbering builds Landmines is a feature used in Chromium that makes it possible to clobber the build output directory when needed. Example scenarios are when compiler/tool/infrastructure changes require a full rebuild. This is mainly to ease clobbering on all bots, but will also ensure developers don't have to waste time on figuring out what's wrong (or rely on reading PSA e-mails announcing when such manual action is required). This CL depends on https://codereview.chromium.org/1407733002/ being landed and rolled into DEPS first. BUG=webrtc:5077 R=kjellander@chromium.org, machenbach@chromium.org Committed: https://chromium.googlesource.com/external/webrtc/+/27576e0b68cff41d0b28cdd38543e85805ac49bf

Patch Set 1 #

Total comments: 4

Patch Set 2 : Added comment #

Patch Set 3 : Making sure the hook runs after Chromium download and symlinks setup #

Patch Set 4 : Removed initial landmine #

Unified diffs Side-by-side diffs Delta from patch set Stats (+66 lines, -1 line) Patch
M .gitignore View 2 chunks +1 line, -1 line 0 comments Download
M DEPS View 1 2 1 chunk +15 lines, -0 lines 0 comments Download
A webrtc/build/get_landmines.py View 1 2 3 1 chunk +50 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (3 generated)
kjellander_webrtc
This is to ensure I have an easy way to clobber before landing https://codereview.chromium.org/1400283004/
5 years, 2 months ago (2015-10-14 15:00:30 UTC) #2
kjellander_webrtc
On 2015/10/14 15:00:30, kjellander (webrtc) wrote: > This is to ensure I have an easy ...
5 years, 2 months ago (2015-10-14 20:47:37 UTC) #3
kjellander_webrtc
On 2015/10/14 20:47:37, kjellander (webrtc) wrote: > On 2015/10/14 15:00:30, kjellander (webrtc) wrote: > > ...
5 years, 2 months ago (2015-10-14 20:51:06 UTC) #4
Michael Achenbach
lgtm with comments: https://codereview.chromium.org/1402923003/diff/1/DEPS File DEPS (right): https://codereview.chromium.org/1402923003/diff/1/DEPS#newcode62 DEPS:62: 'src', How is that different to ...
5 years, 2 months ago (2015-10-15 07:38:20 UTC) #5
kjellander_chromium
lgtm https://codereview.chromium.org/1402923003/diff/1/DEPS File DEPS (right): https://codereview.chromium.org/1402923003/diff/1/DEPS#newcode62 DEPS:62: 'src', On 2015/10/15 07:38:20, Michael Achenbach wrote: > ...
5 years, 2 months ago (2015-10-15 10:51:41 UTC) #7
kjellander_chromium
On 2015/10/15 10:51:41, kjellander (chromium) wrote: > lgtm Whops, wrong button :) but it does ...
5 years, 2 months ago (2015-10-15 10:52:10 UTC) #8
kjellander_webrtc
On 2015/10/15 10:52:10, kjellander (chromium) wrote: > On 2015/10/15 10:51:41, kjellander (chromium) wrote: > > ...
5 years, 2 months ago (2015-10-15 11:15:52 UTC) #9
kjellander_webrtc
On 2015/10/15 11:15:52, kjellander (webrtc) wrote: > On 2015/10/15 10:52:10, kjellander (chromium) wrote: > > ...
5 years, 2 months ago (2015-10-15 11:25:24 UTC) #10
Michael Achenbach
> Some more testing also showed that the first landmine doesn't have any effect if ...
5 years, 2 months ago (2015-10-15 11:30:04 UTC) #11
kjellander_webrtc
On 2015/10/15 11:30:04, Michael Achenbach wrote: > > Some more testing also showed that the ...
5 years, 2 months ago (2015-10-15 11:52:12 UTC) #12
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/27576e0b68cff41d0b28cdd38543e85805ac49bf Cr-Commit-Position: refs/heads/master@{#10287}
5 years, 2 months ago (2015-10-15 12:24:37 UTC) #13
kjellander_webrtc
Committed patchset #4 (id:60001) manually as 27576e0b68cff41d0b28cdd38543e85805ac49bf (presubmit successful).
5 years, 2 months ago (2015-10-15 12:24:41 UTC) #14
Michael Achenbach
> My local testing shows that if you're missing .landmines you won't get anything > ...
5 years, 2 months ago (2015-10-15 12:26:19 UTC) #15
Michael Achenbach
On 2015/10/15 12:26:19, Michael Achenbach wrote: > > My local testing shows that if you're ...
5 years, 2 months ago (2015-10-15 12:36:24 UTC) #16
kjellander_webrtc
On 2015/10/15 12:36:24, Michael Achenbach wrote: > On 2015/10/15 12:26:19, Michael Achenbach wrote: > > ...
5 years, 2 months ago (2015-10-15 12:51:26 UTC) #17
Michael Achenbach
On 2015/10/15 12:51:26, kjellander (webrtc) wrote: > On 2015/10/15 12:36:24, Michael Achenbach wrote: > > ...
5 years, 2 months ago (2015-10-15 12:58:51 UTC) #18
kjellander_webrtc
On 2015/10/15 12:58:51, Michael Achenbach wrote: > On 2015/10/15 12:51:26, kjellander (webrtc) wrote: > > ...
5 years, 2 months ago (2015-10-15 14:20:19 UTC) #19
Michael Achenbach
On 2015/10/15 14:20:19, kjellander (webrtc) wrote: > On 2015/10/15 12:58:51, Michael Achenbach wrote: > > ...
5 years, 2 months ago (2015-10-15 14:22:13 UTC) #20
kjellander_webrtc
5 years, 2 months ago (2015-10-15 14:44:26 UTC) #21
Message was sent while issue was closed.
On 2015/10/15 14:22:13, Michael Achenbach wrote:
> On 2015/10/15 14:20:19, kjellander (webrtc) wrote:
> > On 2015/10/15 12:58:51, Michael Achenbach wrote:
> > > On 2015/10/15 12:51:26, kjellander (webrtc) wrote:
> > > > On 2015/10/15 12:36:24, Michael Achenbach wrote:
> > > > > On 2015/10/15 12:26:19, Michael Achenbach wrote:
> > > > > > > My local testing shows that if you're missing .landmines you won't
> get
> > > > > > anything
> > > > > > > clobbered.
> > > > > > > I would guess it's by design since if you have a clean checkout,
you
> > > won't
> > > > > > have
> > > > > > > anything to clobber anyway.
> > > > > > > What cases can you think of when you would like to clobber and
would
> > be
> > > > > > missing
> > > > > > > the .landmines?
> > > > > > 
> > > > > > Exactly the case you have here now. Here's the timeline:
> > > > > > 
> > > > > > 1. bot builds with checkout in state A
> > > > > > 2. you commit the landmines support CL as B
> > > > > > 3. you commit whatever needs a landmine as C
> > > > > > 4. you commit a landmine as D
> > > > > > 5. bot builds with checkout in state D
> > > > > > 
> > > > > > It's important that the bot (in a particular slavedir) didn't build
> > > between
> > > > 1
> > > > > > and 5. The build will have the incremental difference of A and D
(i.e.
> > the
> > > > > > checkout isn't fresh), but won't execute the clobber. With a big
> enough
> > > > slave
> > > > > > pool there is always a chance that there are some bots in that
state.
> > You
> > > > > > won't know which until you run into.
> > > > 
> > > > You're right. This calls for me waiting at least a day (or even more)
with
> > > > submitting my GN change that's known to break. I should ensure all bots
> have
> > > run
> > > > a build with this CL so all slaves that has the bad args.gn files in the
> > out/
> > > > has gotten the chance to get a .landmines file.
> > > > 
> > > > > 
> > > > > The probability get lower that this happens with increased time
between
> 2
> > > and
> > > > 4.
> > > > > And each time a compile fails, compile.py nukes the out dir anyway, so
> it
> > > > might
> > > > > clean up itself...
> > > > 
> > > > True, at least now I have a better tool than before to avoid wiping all
> the
> > > > slaves.
> > > > Doing it at a few machines is fine with me, worst case.
> > > 
> > > Ah, and because I ran into that before, I tuned our landmines
implementation
> a
> > > bit:
> > >
> >
>
https://code.google.com/p/chromium/codesearch#chromium/src/v8/build/landmines...
> > > 
> > > Chromium's doesn't have this. Maybe it just should?
> > 
> > I dunno, I guess they try to be restrictive about the clobbing but it's also
> > likely nobody just noticed that was the behavior.
> > I'll go ahead with this for now and see if it works. Good to be aware of the
> > behavior at least.
> 
> The thing is that you might not really be aware of it not working. Random
people
> might get random compile failures on trybots for example...

But what would be different for us compared to Chromium if we use the same
script?
Or do you mean only during the transition from this commit to the point where I
commit the first landmine?

Powered by Google App Engine
This is Rietveld 408576698