From 63b4d3d5e1d892ee5e0ac84a9f7dc740239da8d3 Mon Sep 17 00:00:00 2001 From: Prathamesh Kulkarni Date: Tue, 5 Feb 2019 16:28:16 +0530 Subject: Add tcwg_gnu-build and modify build_abe to support bootstrap. Change-Id: I00df28006aec6f0ade815188d809dacbfe6b17f9 --- round-robin.sh | 29 +++++++++--- tcwg_gnu-build.sh | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+), 5 deletions(-) create mode 100755 tcwg_gnu-build.sh diff --git a/round-robin.sh b/round-robin.sh index d1f201a3..1bc1f865 100644 --- a/round-robin.sh +++ b/round-robin.sh @@ -187,7 +187,9 @@ build_abe () local component="$1" - local project stage + local project stage action + action="build" + case "$component" in stage1) project=gcc @@ -197,7 +199,19 @@ build_abe () project=gcc stage="--stage 2" ;; - *) + bootstrap) + project=gcc + stage="--enable bootstrap" + ;; + ubsan_bootstrap) + project=gcc + stage="--set buildconfig=bootstrap-ubsan" + ;; + bootstrap_O3) + project=gcc + stage="--set buildconfig=bootstrap-O3" + ;; + *) project=$component stage="" ;; @@ -221,7 +235,7 @@ build_abe () # Remove previous build directories and .stamp files. # We rely on ccache for fast rebuilds. - set +f; rm -rf builds/x86_64-unknown-linux-gnu/$gnu_target/$git_dir~master*; set -f + set +f; rm -rf builds/*/$gnu_target/$git_dir~master*; set -f export PATH=$(pwd)/bin:$PATH @@ -235,10 +249,15 @@ build_abe () fi ccache -z + local target_opt="" + if [ x"${rr[target]}" != x"native" ]; then + target_opt="--target $gnu_target" + fi + # Run "./abe.sh --build $project". ./abe.sh \ - --build $project \ - --target $gnu_target \ + --$action $project \ + $target_opt \ --extraconfigdir config/master \ --disable update \ $project=${rr[${project}_url]}~master \ diff --git a/tcwg_gnu-build.sh b/tcwg_gnu-build.sh new file mode 100755 index 00000000..c9f9e1c4 --- /dev/null +++ b/tcwg_gnu-build.sh @@ -0,0 +1,130 @@ +#!/bin/bash + +set -euf -o pipefail + +scripts=$(dirname $0) +. $scripts/jenkins-helpers.sh + +convert_args_to_variables "$@" + +obligatory_variables rr[ci_config] \ + BUILD_NUMBER + +# Execution mode: baseline, bisect, continue, jenkins-full +rr[mode]="${rr[mode]-baseline}" + +case "${rr[mode]}" in + "jenkins-full") + obligatory_variables rr[current_project] rr[current_branch] + ;; +esac + +# Set custom revision for one of the projects, and use baseline revisions +# for all other projects. +rr[ci_project]="${rr[ci_project]-tcwg_bmk}" +rr[baseline_branch]="${rr[baseline_branch]-linaro-local/ci/${rr[ci_project]}/${rr[ci_config]}}" +rr[current_branch]="${rr[current_branch]-default}" +rr[current_project]="${rr[current_project]-none}" +rr[reset_baseline]="${rr[reset_baseline]-false}" +rr[top_artifacts]="${rr[top_artifacts]-$(pwd)/artifacts}" + +# {toolchain_name}-{toolchain_ver}-{target}-{bmk}-{cflags} +IFS=- read -a ci_config <