Releases/Firefox 23.0b4/BuildNotes

From MozillaWiki
Jump to: navigation, search

Doing a release? Here's a list of things you should consider whether or not you need to do. Note that a chemspill requires the same steps as a regular release of the same type. Be sure to take notes on manual steps and any problems you encounter.

Recovery from colo outage

The colo failed *right* in the middle of the kickoff, so we ended up with some repos tagged and some not. I tried various permutations of |hg tag --remove| and changing whitespace in the release configs so the versions could be successfully. I eventually ended up running:

cd buildbotcustom
hg up -r production-0.8
hg tag --remove FIREFOX_23_0b4_RELEASE FENNEC_23_0b4_RELEASE FIREFOX_23_0b4_BUILD1 FENNEC_23_0b4_BUILD1
hg push

cd ../buildbot-configs
# Add extra whitespace line to end of and 
# Committed those changes to both the default and production branches
hg up -r production
hg tag --remove FIREFOX_23_0b4_RELEASE FENNEC_23_0b4_RELEASE FIREFOX_23_0b4_BUILD1 FENNEC_23_0b4_BUILD1
hg push

This got us past the build repo tagging portion of the automation, but then we hit an ISE 500 error on hg while trying to reconfig.

I performed a manual reconfig of the scheduler and build masters, and then Nick and I went looking for examples of sendchange commands to run. I found this:

PYTHONPATH=. python ../tools/buildbot-helpers/ \
  --dryrun \
  -u coop \
  -V 23.0b4 \
  --branch mozilla-beta \
  --build-number=1 \
  --release-config \
  --release-config \
  --skip-reconfig \

This worked as a dryrun, but when I tried to run it without --dryrun, the command failed. In hindsight, it was probably just because of the change from --who to --username.

Nick came up with the following sendchange:

buildbot sendchange -u \
  --master \
  --branch releases/mozilla-beta \
  -p products:firefox \
  -p script_repo_revision:FIREFOX_23_0b4_RELEASE \

This sendchange did work. It would have worked for Fennec too, if I had also changed the script_repo_revision on first submission. This is what I ran for Fennec in the end:

buildbot sendchange -u \
  --master \
  --branch releases/mozilla-beta \
  -p products:fennec \
  -p script_repo_revision:FENNEC_23_0b4_RELEASE \

Android build failure

Ran out of space in make buildsymbols:

/tools/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-objcopy:./dist/bin/[.debug_info]: No space left on device
/tools/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-objcopy:./dist/bin/ No space left on device

Build was auto-retried and was successful.

The initial build had this in the clean_old_builds step:

purge_actual: '10.53GB'
purge_target: '10GB'

The successful build was on the same slave and had:

purge_actual: '10.69GB'
purge_target: '10GB'