summaryrefslogtreecommitdiff
path: root/round-robin.sh
diff options
context:
space:
mode:
Diffstat (limited to 'round-robin.sh')
-rw-r--r--round-robin.sh43
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
)