Bug 1134226: Add lightsaber nightly builds.

This commit is contained in:
Wander Lairson Costa 2015-04-14 20:16:01 -03:00
parent 9bab73e46f
commit 517e1a3654
10 changed files with 98 additions and 24 deletions

View File

@ -21,7 +21,7 @@ RUN git config --global user.email "mozilla@example.com" && \
git config --global user.name "mozilla"
# VCS Tools
RUN npm install -g taskcluster-vcs@2.3.4
RUN npm install -g taskcluster-vcs@2.3.5
# TODO enable worker
# TODO volume mount permissions will be an issue

View File

@ -4,9 +4,10 @@ MAINTAINER Wander Lairson Costa <wcosta@mozilla.com>
# Add utilities and configuration
ADD bin /home/worker/bin
ADD config /home/worker/.aws/config
ADD system-setup.sh /tmp/system-setup.sh
RUN /tmp/system-setup.sh
RUN yum install -y bc lzop
RUN pip install awscli
RUN npm install -g bower gulp apm grunt-cli
# Set a default command useful for debugging
ENTRYPOINT ["validate_task.py"]

View File

@ -1 +1 @@
0.0.12
0.0.13

View File

@ -1,9 +0,0 @@
#!/bin/sh
pip install awscli
# Necessary for dolhin kernel building
yum install -y bc
# Remove ourselves
rm -f $0

View File

@ -0,0 +1,49 @@
#! /bin/bash -vex
. pre-build.sh
if [ 0$B2G_DEBUG -ne 0 ]; then
DEBUG_SUFFIX=-debug
fi
if [ $TARGET == "aries" -o $TARGET == "shinano" ]; then
# caching objects might be dangerous for some devices (aka aries)
rm -rf $WORKSPACE/B2G/objdir*
rm -rf $WORKSPACE/B2G/out
fi
aws s3 cp s3://b2g-nightly-credentials/balrog_credentials .
mar_file=b2g-${TARGET%%-*}-gecko-update.mar
./mozharness/scripts/b2g_lightsaber.py \
--config b2g/taskcluster-lightsaber-nightly.py \
--config balrog/staging.py \
"$debug_flag" \
--disable-mock \
--variant=$VARIANT \
--work-dir=$WORKSPACE/B2G \
--gaia-languages-file locales/languages_all.json \
--log-level=debug \
--target=$TARGET \
--b2g-config-dir=$TARGET \
--checkout-revision=$GECKO_HEAD_REV \
--base-repo=$GECKO_BASE_REPOSITORY \
--repo=$GECKO_HEAD_REPOSITORY \
--platform $TARGET \
--complete-mar-url https://queue.taskcluster.net/v1/task/$TASK_ID/runs/$RUN_ID/artifacts/public/build/$mar_file \
# Don't cache backups
rm -rf $WORKSPACE/B2G/backup-*
rm -f balrog_credentials
mkdir -p $HOME/artifacts
mkdir -p $HOME/artifacts-public
mv $WORKSPACE/B2G/upload-public/$mar_file $HOME/artifacts-public/
mv $WORKSPACE/B2G/upload/sources.xml $HOME/artifacts/sources.xml
#mv $WORKSPACE/B2G/upload/b2g-*.crashreporter-symbols.zip $HOME/artifacts/b2g-crashreporter-symbols.zip
mv $WORKSPACE/B2G/upload/b2g-*.android-arm.tar.gz $HOME/artifacts/b2g-android-arm.tar.gz
mv $WORKSPACE/B2G/upload/${TARGET}.zip $HOME/artifacts/${TARGET}.zip
mv $WORKSPACE/B2G/upload/gaia.zip $HOME/artifacts/gaia.zip
ccache -s

View File

@ -11,7 +11,6 @@ if [ ! -d $HOME/.ssh ]; then
fi
aws s3 cp s3://b2g-nightly-credentials/balrog_credentials .
aws s3 cp s3://b2g-nightly-credentials/b2g-rsa $HOME/.ssh/
./mozharness/scripts/b2g_build.py \
--config b2g/taskcluster-phone-nightly.py \
@ -28,12 +27,11 @@ aws s3 cp s3://b2g-nightly-credentials/b2g-rsa $HOME/.ssh/
--base-repo=$GECKO_BASE_REPOSITORY \
--repo=$GECKO_HEAD_REPOSITORY \
--platform $TARGET \
--complete-mar-url https://queue.taskcluster.net/v1/task/$TASK_ID/runs/0/artifacts/public/build/b2g-${TARGET%%-*}-gecko-update.mar \
--complete-mar-url https://queue.taskcluster.net/v1/task/$TASK_ID/runs/$RUN_ID/artifacts/public/build/b2g-${TARGET%%-*}-gecko-update.mar \
# Don't cache backups
rm -rf $WORKSPACE/B2G/backup-*
rm -f balrog_credentials
rm -f $HOME/.ssh/b2g-rsa
mkdir -p $HOME/artifacts
mkdir -p $HOME/artifacts-public

View File

@ -19,14 +19,7 @@ test $VARIANT
. ../builder/setup-ccache.sh
# First check if the mozharness directory is available. This is intended to be
# used locally in development to test mozharness changes:
#
# $ docker -v your_mozharness:/home/worker/mozharness ...
#
if [ ! -d mozharness ]; then
tc-vcs checkout mozharness $MOZHARNESS_REPOSITORY $MOZHARNESS_REPOSITORY $MOZHARNESS_REV $MOZHARNESS_REF
fi
tc-vcs checkout mozharness $MOZHARNESS_REPOSITORY $MOZHARNESS_REPOSITORY $MOZHARNESS_REV $MOZHARNESS_REF
# Figure out where the remote manifest is so we can use caches for it.
MANIFEST=$(repository-url.py $GECKO_HEAD_REPOSITORY $GECKO_HEAD_REV b2g/config/$TARGET/sources.xml)

View File

@ -22,6 +22,7 @@ flags:
- dolphin-eng
- dolphin-512
- dolphin-512-eng
- aries-nightly
tests:
- cppunit

View File

@ -18,6 +18,12 @@ builds:
types:
opt:
task: tasks/builds/b2g_flame_kk_eng.yml
aries-nightly:
platforms:
- b2g
types:
opt:
task: tasks/builds/b2g_aries_lightsaber_nightly.yml
tests:
gaia-build:

View File

@ -0,0 +1,35 @@
$inherits:
from: 'tasks/builds/b2g_phone_base.yml'
variables:
build_name: 'aries'
build_type: 'nightly'
task:
workerType: flame-kk
scopes:
- 'docker-worker:cache:build-aries-lightsaber-nightly'
metadata:
name: '[TC] B2G Aries Nightly'
payload:
cache:
build-aries-lightsaber-nightly: /home/worker/workspace
env:
TARGET: 'aries'
DEBUG: 0
command:
- >
checkout-gecko workspace &&
cd ./workspace/gecko/testing/taskcluster/scripts/phone-builder &&
buildbot_step 'Build' ./build-lightsaber-nightly.sh $HOME/workspace
extra:
treeherder:
symbol: B
groupSymbol: Aries
groupName: Aries Device Image
machine:
platform: b2g-device-image
locations:
img: 'private/build/aries.zip'
mar: 'public/build/b2g-aries-gecko-update.mar'