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

Side by Side Diff: sync_build_test.sh

Issue 3131025: More work to make sync_build_test build autotests with workon (Closed) Base URL: ssh://git@chromiumos-git//crosutils.git
Patch Set: Add support for full layout and undo build_autotest change Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 2
3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 # Script to sync your checkout, build a Chromium OS image, and test it all 7 # Script to sync your checkout, build a Chromium OS image, and test it all
8 # with one command. Can also check out a new Chromium OS checkout and 8 # with one command. Can also check out a new Chromium OS checkout and
9 # perform a subset of the above operations. 9 # perform a subset of the above operations.
10 # 10 #
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 DEFINE_boolean image_to_live ${FLAGS_FALSE} \ 65 DEFINE_boolean image_to_live ${FLAGS_FALSE} \
66 "Put the resulting image on live instance (requires --remote)" 66 "Put the resulting image on live instance (requires --remote)"
67 DEFINE_string image_to_usb "" \ 67 DEFINE_string image_to_usb "" \
68 "Treat this device as USB and put the image on it after build" 68 "Treat this device as USB and put the image on it after build"
69 # You can set jobs > 1 but then your build may break and you may need 69 # You can set jobs > 1 but then your build may break and you may need
70 # to retry. Setting it to 1 is best for non-interactive sessions. 70 # to retry. Setting it to 1 is best for non-interactive sessions.
71 DEFINE_boolean interactive ${FLAGS_FALSE} \ 71 DEFINE_boolean interactive ${FLAGS_FALSE} \
72 "Tell user what we plan to do and wait for input to proceed" i 72 "Tell user what we plan to do and wait for input to proceed" i
73 DEFINE_integer jobs -1 "Concurrent build jobs" 73 DEFINE_integer jobs -1 "Concurrent build jobs"
74 DEFINE_boolean master ${FLAGS_TRUE} "Master an image from built code" 74 DEFINE_boolean master ${FLAGS_TRUE} "Master an image from built code"
75 DEFINE_boolean minilayout ${FLAGS_FALSE} "Use minimal code checkout"
75 DEFINE_boolean mod_image_for_test ${FLAGS_FALSE} "Modify the image for testing" 76 DEFINE_boolean mod_image_for_test ${FLAGS_FALSE} "Modify the image for testing"
76 DEFINE_string remote "" \ 77 DEFINE_string remote "" \
77 "Use this hostname/IP for live updating and running tests" 78 "Use this hostname/IP for live updating and running tests"
78 DEFINE_string repo "${CHROMIUMOS_REPO}" "gclient repo for chromiumos" 79 DEFINE_string repo "${CHROMIUMOS_REPO}" "gclient repo for chromiumos"
79 DEFINE_boolean sync ${FLAGS_TRUE} "Sync the checkout" 80 DEFINE_boolean sync ${FLAGS_TRUE} "Sync the checkout"
80 DEFINE_string test "" \ 81 DEFINE_string test "" \
81 "Test the built image with the given params to run_remote_tests" 82 "Test the built image with the given params to run_remote_tests"
82 DEFINE_string top "" \ 83 DEFINE_string top "" \
83 "Root directory of your checkout (defaults to determining from your cwd)" 84 "Root directory of your checkout (defaults to determining from your cwd)"
84 DEFINE_boolean withdev ${FLAGS_TRUE} "Build development packages" 85 DEFINE_boolean withdev ${FLAGS_TRUE} "Build development packages"
85 DEFINE_boolean usepkg ${FLAGS_TRUE} "Use binary packages" 86 DEFINE_boolean usepkg ${FLAGS_TRUE} "Use binary packages"
86 DEFINE_boolean useworkon ${FLAGS_FALSE} "Use cros_workon/repo workflow" 87 DEFINE_boolean useworkon ${FLAGS_TRUE} "Use cros_workon/repo workflow"
87 DEFINE_boolean unittest ${FLAGS_TRUE} "Run unit tests" 88 DEFINE_boolean unittest ${FLAGS_TRUE} "Run unit tests"
88 89
89 # Returns a heuristic indicating if we believe this to be a google internal 90 # Returns a heuristic indicating if we believe this to be a google internal
90 # development environment. 91 # development environment.
91 # Returns: 92 # Returns:
92 # 0 if so, 1 otherwise 93 # 0 if so, 1 otherwise
93 function is_google_environment() { 94 function is_google_environment() {
94 hostname | egrep -q .google.com\$ 95 hostname | egrep -q .google.com\$
95 return $? 96 return $?
96 } 97 }
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 local top_parent=$(dirname "${FLAGS_top}") 399 local top_parent=$(dirname "${FLAGS_top}")
399 mkdir -p "${top_parent}" 400 mkdir -p "${top_parent}"
400 cd "${top_parent}" 401 cd "${top_parent}"
401 gclient config "${FLAGS_repo}" 402 gclient config "${FLAGS_repo}"
402 } 403 }
403 404
404 # Runs repo init on a new checkout directory. 405 # Runs repo init on a new checkout directory.
405 function config_new_repo_checkout() { 406 function config_new_repo_checkout() {
406 mkdir -p "${FLAGS_top}" 407 mkdir -p "${FLAGS_top}"
407 cd "${FLAGS_top}" 408 cd "${FLAGS_top}"
408 repo init -u http://src.chromium.org/git/manifest -m minilayout.xml 409 local minilayout=""
410 [ ${FLAGS_minilayout} -eq ${FLAGS_TRUE} ] && minilayout="-m minilayout.xml"
411 repo init -u http://src.chromium.org/git/manifest ${minilayout}
409 } 412 }
410 413
411 # Configures/initializes a new checkout 414 # Configures/initializes a new checkout
412 function config_new_checkout() { 415 function config_new_checkout() {
413 echo "Checking out ${FLAGS_top}" 416 echo "Checking out ${FLAGS_top}"
414 if [[ ${FLAGS_useworkon} ]]; then 417 if [[ ${FLAGS_useworkon} ]]; then
415 config_new_repo_checkout 418 config_new_repo_checkout
416 else 419 else
417 config_new_gclient_checkout 420 config_new_gclient_checkout
418 fi 421 fi
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 562
560 chdir_relative src/scripts 563 chdir_relative src/scripts
561 # Only setup board target if the directory does not exist 564 # Only setup board target if the directory does not exist
562 if [[ ! -d "${FLAGS_top}/chroot/build/${FLAGS_board}" ]]; then 565 if [[ ! -d "${FLAGS_top}/chroot/build/${FLAGS_board}" ]]; then
563 run_phase_in_chroot "Setting up board target" \ 566 run_phase_in_chroot "Setting up board target" \
564 ./setup_board ${pkg_param} "${board_param}" 567 ./setup_board ${pkg_param} "${board_param}"
565 fi 568 fi
566 local build_autotest_param="" 569 local build_autotest_param=""
567 if [[ ${FLAGS_build_autotest} -eq ${FLAGS_TRUE} ]]; then 570 if [[ ${FLAGS_build_autotest} -eq ${FLAGS_TRUE} ]]; then
568 build_autotest_param="--withautotest" 571 build_autotest_param="--withautotest"
572 if [[ ${FLAGS_useworkon} -eq ${FLAGS_TRUE} ]]; then
573 # In workon flow, you must workon packages to run tests
574 run_phase_in_chroot "Setting workon for autotest" \
575 ./cros_workon --board=${FLAGS_board} start autotest \
576 autotest-tests autotest-deps
577 # In minilayout you may not yet have autotest.
578 if [[ ! -d "${FLAGS_top}/src/third_party/autotest/files" ]]; then
579 run_phase "Syncing autotest repo" repo sync autotest
580 fi
581 fi
569 fi 582 fi
570 583
571 run_phase_in_chroot "Building packages" \ 584 run_phase_in_chroot "Building packages" \
572 ./build_packages "${board_param}" \ 585 ./build_packages "${board_param}" \
573 ${jobs_param} ${withdev_param} ${build_autotest_param} \ 586 ${jobs_param} ${withdev_param} ${build_autotest_param} \
574 ${pkg_param} 587 ${pkg_param}
575 fi 588 fi
576 589
577 if [[ ${FLAGS_chrome_root} ]]; then 590 if [[ ${FLAGS_chrome_root} ]]; then
578 run_phase_in_chroot "Building Chromium browser" \ 591 run_phase_in_chroot "Building Chromium browser" \
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 fi 639 fi
627 640
628 trap - EXIT 641 trap - EXIT
629 echo "Successfully used ${FLAGS_top} to:" 642 echo "Successfully used ${FLAGS_top} to:"
630 describe_steps 643 describe_steps
631 show_duration 644 show_duration
632 } 645 }
633 646
634 647
635 main $@ 648 main $@
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698