diff options
Diffstat (limited to 'round-robin.sh')
-rw-r--r-- | round-robin.sh | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/round-robin.sh b/round-robin.sh index 1bc1f865..26cfe534 100644 --- a/round-robin.sh +++ b/round-robin.sh @@ -12,9 +12,9 @@ # PROJECT's git SHA1 revision. These are mostly used in manifests. #rr[PROJECT_rev] -# Baseline branch name for current configuration. These branches are -# present in all above git repos. -#rr[baseline_branch] +# Baseline branch name for current configuration. These branches should +# be present in all above git repos (if ${rr[init_configuration]} is false). +#rr[baseline_branch]="${rr[ci_project]}/${rr[ci_config]}" # PROJECT that we are testing in this build. Use ${rr[current_branch]} for # this project, and ${rr[baseline_branch]} for all other projects. @@ -36,6 +36,10 @@ # Top-level artifacts directory. #rr[top_artifacts]="$top_artifacts" +# Set rr[init_configuration] to 'true' for new projects/configurations +# to initialize baseline branches in git repos. +#rr[init_configuration]=false + # Reset artifacts to an empty state. ${rr[top_artifacts]}/results is the most # important artifact, since it records the metric of how successful the build # is. @@ -91,6 +95,7 @@ clone_repo () # ${rr[current_branch]} specifies branch for ${rr[current_project]}, # and everything else uses baseline branch. if [ x"$project" = x"${rr[current_project]}" ]; then + # Use the tip of the branch tracked in the current configuration. if [ x"${rr[current_branch]}" = x"default" ]; then branch=${rr[${rr[current_project]}_branch]} elif [ x"${rr[current_branch]}" = x"baseline" ]; then @@ -217,16 +222,23 @@ build_abe () ;; esac - clone_repo $project - - # Don't use ABE's repo clone functions and setup abe/snapshots/ directory - # to have the right entries. - local git_dir git_path - git_dir="$(basename ${rr[${project}_url]})" - git_path="abe/snapshots/$git_dir" - rm -rf $git_path $git_path~master - ln -s $(pwd)/$project $git_path - ln -s $(pwd)/$project $git_path~master + # Use our custom sources for everything, but kernel headers. + local custom_abe_src_opt="" + local git_dir="$project" + if [ x"$component" != x"linux" ]; then + clone_repo $project + + # Don't use ABE's repo clone functions and setup abe/snapshots/ directory + # to have the right entries. + local git_dir git_path + git_dir="$(basename ${rr[${project}_url]})" + git_path="abe/snapshots/$git_dir" + rm -rf $git_path $git_path~master + ln -s $(pwd)/$project $git_path + ln -s $(pwd)/$project $git_path~master + + custom_abe_src_opt="$project=${rr[${project}_url]}~master --disable update" + fi cd abe @@ -235,7 +247,7 @@ build_abe () # Remove previous build directories and .stamp files. # We rely on ccache for fast rebuilds. - set +f; rm -rf builds/*/$gnu_target/$git_dir~master*; set -f + set +f; rm -rf builds/*/*/$git_dir*; set -f export PATH=$(pwd)/bin:$PATH @@ -259,8 +271,7 @@ build_abe () --$action $project \ $target_opt \ --extraconfigdir config/master \ - --disable update \ - $project=${rr[${project}_url]}~master \ + $custom_abe_src_opt \ $stage ccache -s ) |