summaryrefslogtreecommitdiff
path: root/tcwg_kernel-build.sh
AgeCommit message (Collapse)Author
2018-12-12Fix handling of $top_artifactsMaxim Kuvyrkov
Make handling of $top_artifacts same as all other rr[] variables Change-Id: I9343217bf819bd46fa8d418c6549c4be32e4afd3
2018-12-12tcwg_kernel-build.sh: Make check_regression depend only on ${rr[]}Maxim Kuvyrkov
rr[reset_baseline]="$reset_baseline" Change-Id: I101947234502348c8f9ea32463c0ce31d7598fe9
2018-12-12tcwg_kernel-build.sh: Make build_linux depend only on ${rr[]}Maxim Kuvyrkov
rr[linux_config]="$linux_config" rr[toolchain]="$toolchain" Change-Id: I3a8bb31e2c9cb6954810fa8cd3b3215356c8730d
2018-12-12tcwg_kernel-build.sh: Make build_abe_1 depend only on ${rr[]}Maxim Kuvyrkov
rr[target]="$target" Change-Id: Ie0807b4c57f67f34c0363ea322ca42b4d0c56bfe
2018-12-12tcwg_kernel-build.sh: Make reset_artifacts depend only on ${rr[]}Maxim Kuvyrkov
Rename rr[current_project]="$current_project" rr[current_rev]="$current_rev" rr[git_read_only]="$git_read_only" rr[mode]="$mode" Change-Id: I6bb6a946f9a78d5ae89456b1b7345f020de9734a
2018-12-12tcwg_kernel-build.sh: Rename reset_artifacts depend only on ${rr[]}Maxim Kuvyrkov
Rename $top_artifacts -> ${rr[top_artifacts]} $baseline -> ${rr[baseline_branch]} Change-Id: I87d07cf41bbbce2fe020c1b84c782ce412e6f596
2018-12-12tcwg_kernel*: Rename git_repo and git_branchMaxim Kuvyrkov
This is a mechanical change to rename: git_repo[X] -> rr[X_url] git_branch[X] -> rr[X_rev] Change-Id: Idda39b49950b414fa6bacdb0094d5cb125d1867d
2018-12-12tcwg_kernel*: Rename config[*] to rr[*].Maxim Kuvyrkov
This is beginning of a massive variable renaming patch series. The goal is to encapsulate all configuration variables that round-robin routines are using into "rr" associative array. This encapsulation will allow to move round-robin routines such as clone_repo, prepare_abe, build_abe, etc. into helper file and make it depend on a well-documented array of configuration variables "rr". Change-Id: Ie8aad82c1527ced79465fa8d21a1eaa0b11f5e7b
2018-12-12tcwg_kernel*: Stop using and remove default configurationMaxim Kuvyrkov
Rely on manifest snippets in tcwg_kernel/* instead. Also make obligatory_variables handle bash arrays by using "declare -p". User-visible change is that now developers will need to explicitly add "@@ ./tcwg_kernel/gnu-master.sh", etc., which have been default in the past. Change-Id: I788e7cdca098fddeb67e9087252f9d53691407bf
2018-12-11tcwg_kernel-build.sh: Remove unnecessary indirection via ${git_dirs[]}Maxim Kuvyrkov
Change-Id: I0a7c32c871d33044be172855d037f152b2f5f82f
2018-12-11tcwg_kernel-build.sh: Add --mode continueMaxim Kuvyrkov
Add new "--mode continue" for developer purposes. Preserve existing artifacts and continue build from specified step. Change-Id: I4694cd8ae08f8ea2a5ef9a6c891c731449dc572e
2018-12-11tcwg_kernel-build.sh: Support building glibc and gcc-stage2Maxim Kuvyrkov
Make ABE routines more generic to enable building glibc and gcc stage2. These routines are going to be moved to round-robin.sh helper files to share with other jobs. Change-Id: I81038aa53293075faba643e4ad93303d5bd18041
2018-12-11tcwg_kernel-*.sh: Remove --tidy supportMaxim Kuvyrkov
Now that we are sharing workspaces among all configurations, we no longer need to be super-careful about disk space. Change-Id: I2702fe9ced1b104a335f91982ec06b1798bc80e9
2018-12-07jenkins-helpers: Add manifest generation logic to convert_args_to_variablesMaxim Kuvyrkov
... and re-work bash sourcing logic "@@" to be more flexible / verbose. The idea is that specifying "%% ./manifest.sh" as the 1st argument on the command line will cause all subsequent arguments to be logged in ./manifest.sh. A reproducer build then can include "@@ ./manifest.sh" and reproduce the original build. Build environment that is not on the command line (e.g., repo revisions) can be added to the manifest with help of "manifest_out" helper. E.g., command-line argument "--current_rev master" will be logged in manifest as == current_rev="master" == and then logic in the script can override that with cat <<EOF | manifest_out current_rev=$(git rev-parse HEAD) EOF thus producing manifest with == current_rev="master" ... current_rev=abc123cab == Change-Id: I066be570c08eda4f80f148dccf475d1794eba229
2018-11-26tcwg_kernel-build.sh: Fix reset_artifacts to not delete artifacts/jenkins .Maxim Kuvyrkov
Change-Id: I32c37e5e8cfdff474aab187ec9985a1177644391
2018-11-26tcwg_kernel-build.sh: Preserve artifacts/jenkins in reset_artifactsMaxim Kuvyrkov
So that we can archive info provided by tcwg_kernel.yaml such as build-name and (in future) URL links to jobs. The latter will be helpful when browsing results history in base-artifacts.git repo. Also fix a bug that preserved all of "artifacts/1-reset_artifacts/*" files, instead of only artifacts/1-reset_artifacts/console.log. Change-Id: I549126e7284bd34452abecd35553160d325c79e7
2018-11-26Don't ignore "null" values in variable expansionsMaxim Kuvyrkov
Replace ${var:-default} with ${var-default}. I learned something new about shell scripting today. From bash manual: === When not performing substring expansion, using the form described below (e.g., ‘:-’), Bash tests for a parameter that is unset or null. Omitting the colon results in a test only for a parameter that is unset. Put another way, if the colon is included, the operator tests for both parameter’s existence and that its value is not null; if the colon is omitted, the operator tests only for existence. === The immediate problem I need to fix is handling of host_aarchXX_excludecheck and host_x86_64_excludecheck parameters in tcwg-buildfarm.sh. With ":-" syntax the empty ("null") values are replaced by defaults, causing GCC testsuite to be ignored on aarchXX hosts when "--host_aarchXX_excludecheck ''" is given. There happens to be a single usage ":-" in ${rw:-rw} in start-container-qemu.sh, where ":-" is actually needed. Change-Id: Ibc8e070b698e1c76e2161eb65d40639b8cdec1f3
2018-11-14tcwg_kernel-build.sh: Fill in update_baseline and push_baselineMaxim Kuvyrkov
... and add git_push helper. Change-Id: I2bdbbc14aa08f9bb10b1690780542c6e049c4b73
2018-11-14tcwg_kernel-build.sh: Fill in no_regression_p and check_regression.Maxim Kuvyrkov
Change-Id: I1725a201a7665d8728180bf021050e8c1c1378f7
2018-11-14tcwg_kernel-build.sh: Fill build_linux and count_linux_objsMaxim Kuvyrkov
Change-Id: I9cddd58582afd36e9dd6c10273c2d175dd9c076a
2018-11-14tcwg_kernel-build.sh: Fill build_llvm* functionsMaxim Kuvyrkov
... and add print_llvm_target helper. Change-Id: I20b048d4acd942a6e4a06acb2308489f00391a9a
2018-11-14tcwg_kernel-build.sh: Add logic to build Binutils and GCC using ABE.Maxim Kuvyrkov
Add several jenkins-helpers along the way. Change-Id: I6b654f6a5cfa5386d5f691452aacaac11ff89f5b
2018-11-13tcwg_kernel-build.sh: Fill in clone_repo and add git_init_linaro_local_remoteMaxim Kuvyrkov
Change-Id: I36ed5078a80360c42ed6079ae98f76fa94354de7
2018-11-08tcwg_kernel-build: Fill reset_artifacts.Maxim Kuvyrkov
Change-Id: Icec96100e32fc5df26f1536c0102c1431d7c971c
2018-11-07tcwg_kernel-build: New build scriptMaxim Kuvyrkov
This patch adds execution flow structure for tcwg_kernel-build script. The code for individual execution steps will be in separate patches for ease of review. Change-Id: I5e5adba01b6178addd3cdbae9dc18bdc0f7e7697