Closed Bug 362970 Opened 16 years ago Closed 16 years ago
Tinderbox changes to upload airbag symbols
We need some minor changes to the tinderbox scripts, and some changes to tinderbox configuration to get tinderboxes uploading airbag symbols. There should be a config option to upload symbols, and it should run |make splitsymbols| like we do with talkback, and also |make uploadsymbols|. In addition, we need to set the environment variables here: http://lxr.mozilla.org/mozilla/source/toolkit/airbag/tools/upload_symbols.sh#40 to specify the server to upload to, the username, and the remote path.
And also to make sure that each hourly build doesn't save symbols in $DIST/airbag-symbols/$BUILDID. That caused full disk problems on fx-win32-tbox overnight.
From what I read in post-mozilla-rel.pl, |make deliver| gets run regardless of whether we're actually uploading the symbols. Is there something else that talkback does that I'm missing? http://lxr.mozilla.org/mozilla/source/tools/tinderbox/post-mozilla-rel.pl#222
(In reply to comment #2) > From what I read in post-mozilla-rel.pl, |make deliver| gets run regardless of > whether we're actually uploading the symbols. Is there something else that > talkback does that I'm missing? > > http://lxr.mozilla.org/mozilla/source/tools/tinderbox/post-mozilla-rel.pl#222 Hrm. So, this looks like the sequence of events to me: * MOZ_DEBUG_SYMBOLS set by Tinderbox, but only for non-hourly build (ReleaseBuild is set): http://lxr.mozilla.org/mozilla/source/tools/tinderbox/build-seamonkey-util.pl#430 * "make deliver" called at end of build, which calls "splitsymbols". The Airbag portion should only be called if MOZ_DEBUG_SYMBOLS is set: http://lxr.mozilla.org/mozilla/source/Makefile.in#122 What am I missing here?
Tinderbox changes + some small build system changes. I moved the airbag symbol store generation logic into its own makefile target, since |make splitsymbols| gets called for every hourly build. The airbag stuff is now in |buildsymbols|, with the upload still in |uploadsymbols|. Added a tinderbox setting, |airbag_pushsymbols|, that controls building and uploading the symbols. IF it is set, and a release build was done, then build and upload the airbag symbols. I also changed the airbag symbol store build to place the symbols in $(topsrcdir)/../$BUILDID, in a .tar.bz2. The upload_symbols script now just takes that archive as its only parameter. I successfully ran a build with all of this in place, the build is at http://ted.mielczarek.org/code/mozilla/firefox/nightly/2007-01-07-16-trunk/ and the symbols are at http://mavra.perilith.com/~luser/airbag-symbols/ (along with a bunch of symbols from older builds).
Assignee: build → ted.mielczarek
Status: NEW → ASSIGNED
Attachment #250792 - Flags: review?(preed)
Comment on attachment 250792 [details] [diff] [review] allow tinderbox to generate and upload airbag symbols Looks good; I'm a fan of using -exec over xargs, due to quoting issues, but that's because files with spaces in them hate me. r=preed.
Attachment #250792 - Flags: review?(preed) → review+
Yeah, if I wasn't doing a sed on the results that would work. Also, FYI, find -print0 | xargs -0 handles files with spaces too. The build_symbol_store script can handle multiple args on the cmdline, so it's nice to save on invocations of perl. Thanks!
Fixed on trunk.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Comment on attachment 250792 [details] [diff] [review] allow tinderbox to generate and upload airbag symbols > >+buildsymbols: >+ifdef MOZ_DEBUG_SYMBOLS >+ifdef MOZ_AIRBAG >+ echo building airbag symbol store >+ mkdir -p $(DIST)/airbag-symbols/$(BUILDID) >+ /bin/find . -path "./dist" -prune -o -name "*.exe" \ >+ -o -name "*.dll" -o -name "*.EXE" | sed "s/\.[^\.]*$$/\.pdb/" | \ I wonder if the $$ is correct? It only works for me if I remove one $
Wolfgang: this patch works for me, are you saying that |make buildsymbols| fails for you, or that copying that command to the commandline fails for you?
You are right. I forgot about Makefile escaping. Sorry for the spam.
Component: Tinderbox Configuration → Tinderbox
Product: mozilla.org → Webtools
You need to log in before you can comment on or make changes to this bug.