Skip to content
This repository has been archived by the owner on Nov 10, 2017. It is now read-only.

Build Process

Myk Melez edited this page Jun 28, 2013 · 21 revisions

On development machine:

export THIS=4.0pre9 NEXT=4.0pre10
git checkout -b build-${THIS} master
sed -i '' s/${THIS}dev/${THIS}/g addon/package.json
git commit -m"update version for ${THIS} build" addon/package.json
git push --set-upstream origin build-${THIS}

On each build machine, if reusing an existing clone:

export THIS=4.0pre9
git fetch
git checkout build-${THIS}

If cloning anew:

git clone git://github.com/mykmelez/r2d2b2g.git
cd r2d2b2g
git checkout build-${THIS}
git submodule init

Then:

git submodule update
LOCALES_FILE=${PWD}/build/languages.json make locales
LOCALES_FILE=${PWD}/build/languages.json make
make package

On Linux 32, build for Linux 64 too:

B2G_PLATFORM=linux64 LOCALES_FILE=${PWD}/build/languages.json make
make package

Push the builds to the server:

mv addon/r2d2b2g.xpi addon/r2d2b2g-${THIS}-mac.xpi
scp addon/r2d2b2g-${THIS}-mac.xpi stage.mozilla.org:/pub/mozilla.org/labs/r2d2b2g/

mv addon/r2d2b2g.xpi addon/r2d2b2g-${THIS}-windows.xpi
scp addon/r2d2b2g-${THIS}-windows.xpi stage.mozilla.org:/pub/mozilla.org/labs/r2d2b2g/

mv addon/r2d2b2g.xpi addon/r2d2b2g-${THIS}-linux.xpi
scp addon/r2d2b2g-${THIS}-linux.xpi stage.mozilla.org:/pub/mozilla.org/labs/r2d2b2g/

Test the builds.

On stage server:

export THIS=4.0pre9
cd /pub/mozilla.org/labs/r2d2b2g/
rm r2d2b2g-windows.xpi && ln -s r2d2b2g-${THIS}-windows.xpi r2d2b2g-windows.xpi
rm r2d2b2g-mac.xpi && ln -s r2d2b2g-${THIS}-mac.xpi r2d2b2g-mac.xpi
rm r2d2b2g-linux.xpi && ln -s r2d2b2g-${THIS}-linux.xpi r2d2b2g-linux.xpi

On development machine:

git tag ${THIS}
sed -i '' s/${THIS}/${NEXT}dev/g addon/package.json
git commit -m"update version for ${NEXT}dev development" addon/package.json
git push
git checkout master
git merge build-${THIS}
git push --tags origin master
git push --tags upstream master
git branch -d build-${THIS}
git push origin :build-${THIS}

On each build machine, if you reused an existing clone:

git checkout master
git pull
git branch -d build-${THIS}
git remote prune origin
make clean
make -C gaia multilocale-clean
git status

If you cloned anew:

cd ..
rm -rf r2d2b2g
Clone this wiki locally