Age | Commit message (Collapse) | Author |
|
Change-Id: Icbe889d07ffb683ea00c63038d827f48a2d96080
|
|
In print_tester_label_for_target(), do not use tk1/tx1 anymore, use
APMs instead.
However, this means we no longer use armv7 hardware to test arm-*
configurations (as opposed to armv8l*).
Change-Id: Iff08678c39ad15f59628e5a91f62d0812d0bb0b3
|
|
If manifest.txt was uploaded in job's parameters, then
pass --manifest option to MakeRelease.job.
Fix MakeRelease.job to not pass --target when manifest is set,
otherwise ABE complains.
Change-Id: I2aa25d3840281159e2ed00cfaab3b9e47a661801
|
|
Remove copying of entries from base-artifacts/STEP/ to artifacts/STEP/
for skipped steps.
We used to rely on $run_step_prev_artifacts/build-ok markers to
detect pass/fail conditions of the previous step -- something that
we now explicitly handle with skip_/reset_/stop_on_on_fail modes
of run_step(). So remove unused feature.
Change-Id: I06e4298aa06ffb2aaf677d2c51e89da61ae9b119
|
|
We get locks in git repo when builds are interrupted during
git remote update.
Change-Id: I184f6e0f4e401237d85f0e0af328a67be654faec
|
|
Add a comment explaining "==arr[key] value" syntax for parameters.
Change-Id: Id18bd5fc912297cd98e55161f8aa1fd30532e706
|
|
Change-Id: I09d0c3f480b350eb8c1a9a51c13635bb191ce37f
|
|
run_step_status is set to exit status of step only if it fails, else it
holds the value of exit status of previous step.
Avoid that by initializing it to 0.
Change-Id: I1e7625ffc22ad2a44470892b11092e80f2b52eae
|
|
Change-Id: Ifd517229bb3ee7642266e3e66a8682f177992076
|
|
We don't have DNS alias entries tcwg-x86_64-build-09.tcwglab and
tcwg-x86_64-build-10.tcwglab -- for build-09.tcwglab and build-10.tcwglab
machines.
Change-Id: Ib32956b92098ac610be6f178c5d24c23ffa994f0
|
|
Several of our machines have docker root dir set to /home/docker
instead of standard /var/lib/docker.
The reason for using /home/docker is to allocate docker containers
on the biggest disk partition.
Change-Id: I6d16f561b5b8d303cb58d3a30f2847814eb55756
|
|
Don't add "exec" to the remote command unless necessary.
We need this to trigger jenkins jobs via
===
remote_exec "ci.linaro.org:2222::-l $USER@linaro.org" build ...
===
Note that "build" is a command of jenkins-cli, not an executable,
so prepending "exec" breaks the invocation.
Change-Id: If122869dadb76711666aa49690f508757e7ebce9
|
|
Change-Id: Ie0faa9b60e094f7f0ecd607d56d259dcff649382
|
|
... and their use in reproduction instructions.
Also
- download build-parameter.sh in instructions that test.sh relies
on
- use curl instead of wget in instuctions
- limit commit output to 1000 lines in the email body.
Change-Id: Ib3b0cb94134a588e3a8c72fd7261b70d83935450
|
|
This is partly fix, partly cleanup. At the moment in bisection
mode artifacts/results are not populated until first step successfully
executes. This means that for bisections of binutils, gcc, and llvm
regressions the results file is empty if the build of these projects
fails (i.e., no successful steps at all). This causes empty clauses
in the bisection emails due to artifacts/results file being empty.
We could have fixed this by adding
===
Starting Y build
<value of successful previous step>
===
to the top of every build step, but instead we refactor and cleanup
run_step support to handle constant-value result entries.
In addition to current "stop_on_fail" mode we add "skip_on_fail" and
"reset_on_fail" modes, which simplify error handling for most build
steps.
Change-Id: Ic2d1a15fa490ec25be741cdaf718442260c52e6d
|
|
Git_rev_parse resolves references against refs/remotes/origin/$ref,
which is what we want most of the time, but not for HEAD.
Refs/remotes/origin/HEAD will, typically return sha1 of repo's
master branch, not sha1 of current checkout.
The fix is to use plain "git rev-parse".
A future patch will rename git_rev_parse to git_remote_rev_parse
or something similar.
Change-Id: Ic3656ee9880862608928a7e6081fe6559e64c70e
|
|
... to optimize clone and updates of base-artifacts.
The base-artifacts repo has a lot of contineously re-written
branches, but these branches are only a few commits deep
(they store "stack" of current regressions). We want to fetch
only the branch of base-artifacts for configuration we are testing,
not the whole repo.
This patch adds new parameter to clone_or_update_repo and
clone_or_update_repo_no_checkout.
Change-Id: I286a78e167ddc2e34a770fb6f8b60323a14fe8c6
|
|
Find races with "rm -rf" and complains about missing files
and directories that were just deleted. Ignore find's exit
status and stderr.
Change-Id: Ie79b9ef56e4932a694cdee16b31384efd99f1c1f
|
|
Change-Id: Iea3db4df798980e53ae6fa34d56596ba4b6198b4
|
|
Change-Id: I8f4711912ebf18504ae7cad79c755e482610f840
|
|
Run "git gc" in --auto mode to skip repos which are in good shape.
Change-Id: I3cd1adffda2736dd1f37d8460f1cf905a537f55e
|
|
In tcwg_kernel-bisect.sh we use manifest handling to put options
for tcwg_kernel-build.sh script into build-parameters.sh file.
This overwrites __manifest_file variable of bisect job, so we
end up forwarding half of bisect manifest into build-parameters.sh.
Fix this by adding push/pop logic for __manifest_file variable.
Change-Id: I22adc9f0533024063398b5d7cb1a416cad2aa2d1
|
|
If build times out during "git gc" or "git gc" is otherwise
killed, then we have to clean up a stale lock.
Change-Id: I2c60b0a35a0881c2b5b893f6f925ffab5f88fcd4
|
|
Change-Id: Ie2e0f6db672207123a9903eb7f60de23f316f60a
|
|
Change-Id: I1513712e64500712a5540b9b5a5bd8e1228334c4
|
|
This avoids git repos from growing too large.
Change-Id: I2cd9b83180ca13557a0aa5558d5019a98b81833b
|
|
In tcwg_kernel-bisect.sh we need to call tcwg_kernel-build.sh with
various options. We also generate manifest for each call so that
we can reproduce /bisect/ runs. With current support we need to
write something like this to handle reproductions of bisects:
===
if $reproduce_bisect; then
./tcwg_kernel-build.sh @@ /path/to/manifest.sh
else
./tcwg_kernel-build.sh %% /path/to/manifest.sh --build options
fi
===
which is cumbersome and obstructs script logic.
This patch adds a "reproduction switch" -- "^^ true/false".
When "^^ true %% manifest.sh --build options" it provided, then
manifest.sh is sourced and all "--build options" are discarded to
avoid changing build environment that manifest.sh sets up.
When "^^ false %% manifest.sh --build options" is given, then
manifest.sh is created and populated with "--build options".
Change-Id: I38fcf37dc024891f5aa858dbd110082692dc09c9
|
|
Change-Id: I12bfdcbc182ed807a6ea06f464122e9a8cecaa19
|
|
Change-Id: I2a430189c09e5f1a4bcb51ecdad32e218ab7b844
|
|
Change-Id: Iffb597ab8dbf676779c3a2135baf9d2f536cc808
|
|
Change-Id: Iba94ba9ea421f2dc326b8909a71807ebe46a52b4
|
|
... which will be used for manifest generation.
Change-Id: I5402707efc785f0dee507ce597f5ceefe88eaebc
|
|
Change-Id: I3763506b1f6e2577022ae238d2a03c72acb05b4b
|
|
The run_with_timeout_and_retry did not account for set -e so when the first
command failed there was no retry. Changed to run the command in a subshell
following the example of timeout in print_node_with_least_containers. Also
renamed retval to ret to be more consistent with the rest of the script.
Change-Id: I2f157b81914fc558d67e484e66c0108915c58dd8
|
|
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
|
|
1. Add support for bash associative arrays to
convert_args_to_variables via "==arr[elem] value" syntax.
2. Improve convert_args_to_variables to use "declare -g"
directive to declare variables in the global scope --
instead of "eval var=val" approach.
Change-Id: I351669734a3d0e3b6aa1edbf8fa9cb071487775a
|
|
Git has been observed to hang at the git fetch-pack stage when either the
git or ssh protocol is used to both local and remote repositories. There are
a number of possible reasons for this to happen and it is not unique to
Linaro.
To work around a hung job keeping a slot open for many hours we add a timeout
and retry mechanism that will at a minimum fail fast.
Change-Id: I7bcfc66f2ff3b2ceab7dad148effe3397705136e
|
|
... in convert_args_to_variables
Change-Id: Ib270cd36c5de170f5e45d18579f70a46cd822298
|
|
Add new "--mode continue" for developer purposes. Preserve
existing artifacts and continue build from specified step.
Change-Id: I4694cd8ae08f8ea2a5ef9a6c891c731449dc572e
|
|
In tcwg-update-snapshots_ref.sh, use the label associated with the
64-bits view of these machines, like we do for the other types.
In jenkins-helpers.sh, like for other machines, handle both 32 and 64
bits views.
Change-Id: I5b9119c138a9078d51fe374f3706922231200a4b
|
|
... 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
|
|
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
|
|
... which is used in tcwg_kernel-build.sh:build_linux .
Change-Id: I3b2fe9d81c157bc1a8362b0c437fd645960f98b5
|
|
... and add git_push helper.
Change-Id: I2bdbbc14aa08f9bb10b1690780542c6e049c4b73
|
|
... and add print_llvm_target helper.
Change-Id: I20b048d4acd942a6e4a06acb2308489f00391a9a
|
|
Add several jenkins-helpers along the way.
Change-Id: I6b654f6a5cfa5386d5f691452aacaac11ff89f5b
|
|
Change-Id: I36ed5078a80360c42ed6079ae98f76fa94354de7
|
|
Change-Id: I2543fd01f5c1238a9a083b1cbc9f181d5a4dc445
|
|
... into clone_or_update_repo and clone_or_update_repo_no_checkout
for upcoming use-case in tcwg_kernel-build.sh:clone_repo.
Change-Id: Ib75169b29255a7fca5db656671df0b491bc76a7c
|
|
These are designed for build scripts that have several modes of operation.
E.g., the tcwg_kernel-build.sh script is going to have "baseline",
"jenkins-full", and "bisect" modes, which require running different sets
of build steps.
The helpers also automate handling of artifact directories and console
logs.
Change-Id: I3fbb411c63e189b78ea2cbc62a04c1a4a1a30fae
|