Age | Commit message (Collapse) | Author |
|
Change-Id: I499c4ed5d2f1c872de200ac2072e0ba0eebcfcec
|
|
Instead of just printing an help message and continuing.
Change-Id: I6734639095589c861e72d8c0f4a444b86fefa1fc
|
|
WORKSPACE used to be set to $(pwd) if not already defined,
but if jenkins.sh is called remotely via ssh for instance,
WORKSPACE is undefined but the build succeeds in $HOME
instead, which is misleading and can confuse other Jenkins
script.
This patch removes this default value and prints an error
message in case $user_workspace (derived from $WORKSPACE,
or defined by a command-line option) is undefined.
Change-Id: I53a927a8f5e00430e2aefa22991daa42b2776b95
|
|
Change-Id: I8e66a03e2533620a6d941d2af4715502f87ef6d4
|
|
When jenkins.sh is called shortly before midnight, the 2 calls to
abe.sh can generate 2 manifest files (different name because of
different date). The code can handle one only.
Change-Id: I30105f39a4c121cec095cd4cbe1000d5b6a96817
|
|
In MakeRelease.job, rename --abepath to --abedir
for homogeneity.
In jenkins.sh, replace --abe to --abedir, remove
support for short option name (-c).
Change-Id: Ic35f1a1a73e848da4da7221017db552d73d25db0
|
|
When $runtests is false check.out and check.err are not generated.
Change-Id: Ic5b0d3de2ad2edf711805099ec48e627d048d7cb
|
|
When downloading qemu.
Change-Id: I840697b23eb58e7fa280fbca2fc569694eb6a5fa
|
|
Shellcheck warns that backticks are deprecated, so replace
them with the more modern $(...) syntax.
This patch has been generated automatically with this shell
command:
perl -i -ape 's/`\(([^()`]*)\)`/\$($1)/; s/`([^(][^`]*)`/\$($1)/' *.sh lib/*.sh
This leaves two more `...` in test.sh which will be replaced by
hand in a later patch.
Change-Id: Ia909ee0d7b2d4049c6cacf3de3babafb0f4d0f07
|
|
In fact, the option has been removed a long time ago,
but some currently unused code in jenkins.sh was still
using it.
Change-Id: I1bf2810b31704a6693bec609b4620b1ae34f4b1f
|
|
... when --testcontainerfile option is given to jenkins.sh.
It can take up to 20 minutes to start a testing container when the
testing board is under heavy load, so it is best to parallelize it
with the build of the toolchain. If starting a container exceeds
time required to build the toolchain -- then we need to investigate
and fix the bottlenecks on the tester side.
Change-Id: Iba061228a9aec90e8d7f9e71162526685a48d8b4
|
|
The purpose is two-fold. Firstly, this patch is a step towards
separating build and test stages, which we need for testing of
binary releases.
Immediatelly, however, this patch makes --testcontainerfile
jenkins.sh option possible. By splitting test from the build
we give time for $testcontainerfile to appear once the test container
is started.
Change-Id: Ie85fffa8f46498f08fc2eb2fcdd5733586826a1e
|
|
Change-Id: I27d620b217008c8bd8d7d12b0c6f98bc670a0107
|
|
Remove --fileserver from jenkins.sh, but keep it in MakeRelease.job,
since the latter is using fileserver as logserver.
Also fix path to reference snapshots.
Change-Id: Idbb77318810e5f9c0597a6182e2bc84d036e9400
|
|
The gerrit patches are in refs/changes/*, which are not fetched
by default by git clone. Since we are putting more and more stuff
to gerrit, it makes sense for us to fetch these commits in ABE.
The extra refs are going to be present in the reference git repos,
so overhead will be negligible.
Change-Id: I3043decb858231a3fcf2bf8a40ed12f4550e8739
|
|
This qemu should no longer fail sync-4 test.
Change-Id: I8f2a36fec3cd9b00d2b0b8a7eacc4e717df99859
|
|
... otherwise aarch64 and armhf hosts try to execute x86_64-hosted
qemu-* binaries.
Change-Id: I1e7399c05aa409ad9fa35dcab47d13c325403ed5
|
|
This WIP qemu binaries provide significantly better results:
800 more PASSes, 400 less FAILs -- compared to Trusty qemu-armeb.
The tarball also provides qemu-arm and qemu-aarch64, which perform
just as well as qemu-armeb.
Change-Id: I21113651a01ff4af4a569673fdb54741b41aff54
|
|
configure.
This information is more useful in the case of builds started by Jenkins than
when started via the command line.
Change-Id: I00952a4c58fb2f28113d7e3e94a81001d3184c33
|
|
Currently the changes and overrides to components are not passed to the
--checkout all command. This patch fixes this.
Change-Id: If902c3cc67b0de5790f2c91f9b7743882daf9e19
|
|
it's dash instead.
Change-Id: I2b819d18b52e35045684948084b125c35d4d43a6
|
|
Change-Id: I1ba1ae046cd600042d2c473a3afd551c6a6688e7
|
|
$revision variable is not used anywhere in jenkins.sh
Change-Id: If11fb5738bd6cee4b7a20b35fb63b0112a72797b
|
|
... to try workaround sanitizer testsuite instabilities and races.
Note that the Hetzner builders have been renamed tcwg-ex40-XX -> ex40-XX,
so the old stanza is no longer applicable. Also the change will only
affect the 32-core builders, and the old 4-core builders will remain at -j4
parallelism.
Change-Id: Ie7c1ef6a3d89264e5fbad5e06520c20d8582baee
|
|
Change-Id: Iad2016cb3692c9320555a982311d5792b1a95ac0
|
|
... to specify non-default versions for glibc and other components.
Change-Id: I7322c7fd624135d7551b1da3e2afd217e1dfebd6
|
|
If building with such options as tarbin, we get a duplicate manifest inside
destdir. Look for the manifest inside build, excluding destdir. There should
always be exactly one such manifest.
Symptom of multiple manifests is jenkins.sh exiting with error due to:
+ jenkins.sh: 405: test 'x/<some_path>/foo@bar-<date>-manifest.txt
/<some other path>/foo@bar-<date>-manifest.txt' '!=' x
+ jenkins.sh: 406: echo node=tcwg_x86_64_ex40build_07
./jenkins.sh: line 406: ${manifest}: ambiguous redirect
Change-Id: Id3db8c084622efb0f09504eec51a7b4d1594272a
|
|
Change-Id: Ib08025be14712a6bc536055e87cc71d82164d5df
|
|
There is an ongoing problem which means that expect is unable to spawn
processes. Detect the condition before running make check, and try to output
a little bit of debug info.
Change-Id: Ib9432973d70562da6d31533c64214bcac67cfdec
|
|
|
|
${change} usually contains the GCC revision to build, which is
generally only in gerrit changes. Thus, --checkout all cannot
access it. This is the purpose of the subsequent git fetch, which
brings the gerrit changes into our local repo.
The GCC revision will be checked out during the abe build process.
Change-Id: I8ac9fa45444e2e969f2ceebfa9610af4fa5246d4
|
|
Special care is needed to continue if the build returned an error:
We still want to see the logs etc....
This patch helps catching errors earlier.
Change-Id: I1614385775ca7e0d57805666a2ce79f3f9101b77
|
|
I verified that "--checkout all" works as expected with source update
enabled and disabled.
Change-Id: I2c4016db4ba51b3ec1f03ece6d26223334cbb998
|
|
Validation of ABE via Jenkins currently does not pass --logserver when calling jenkins.sh. This results in errors which are silently ignored.
This patch fixes this.
Change-Id: Ifc70d6ef6b8505a3d0bfd5b3f4ab6bd961cd5df1
|
|
Right now we test native AArchXX toolchains by bootstrapping them, but without
running testsuites (which takes 3-4 hours). Without uploading /something/
after a successfull bootstrap to the logserver, we are bound to re-build
the toolchains needlessly. This patch fixes that.
Change-Id: Ia5c2e057f625cc62c461d023b3acc4f8003deada
|
|
Change-Id: I5ac6be8cb3a5182697dceb4e3efc2c868562c197
|
|
In current work-in-progress backport job results are uploaded to specific
directories on $logserver, to avoid any ambiguity in their location.
This patch updates compare_jobs.sh script to not use hard-coded log paths.
This patch does two things: firstly, it changes default template for log
directories to only use variables, that can be calculated from input arguments.
Secondly, it moves calculation of those variables to the beginning of
the script, so that $logname can be computed, and checked for existence, and
the build/test can be, potentially, skipped altogether.
Note, this change is, mostly, for BuildFarm-style jobs, as Backport-style jobs
override $logname's of their children BuildFarm jobs to a known value to avoid
any guesswork.
Change-Id: Ib6a0dd141ac35e5b2bb2fbd9e10aa2edeeef43d8
|
|
To test patches in gerrit review we need to help ABE find those SHA1s.
Change-Id: Ibdd32233ca54cc5e242565b7f53f78533b96e7ea
|
|
See https://bugs.linaro.org/show_bug.cgi?id=1338 .
Change-Id: I839fb0ba270e302bbaa47bd3508cb5bb9957988c
|
|
This option allows re-use of existing test results for backport validation.
The backport jobs are expected to set --logname to something like gcc-SHA1
of commits they are testing.
Change-Id: Icdc52d0de310c08e307c6de8f627722f4dbaef91
|
|
Change-Id: Iffc025d8048c3940d2409200691635578fcfb731
|
|
We want to start separating test results produced by different branches of
ABE and by different jenkins jobs. Towards this end we now explicitly set
--logserver in Jenkins jobs for builds from which we want to store results,
and unset it for builds that test ABE itself.
See https://review.linaro.org/#/c/6153/ for details.
Change-Id: I26c2ba493b4229cfc3595e0eb7f859e6ecc5e3ff
|
|
This patch fixes various problems that manifest themselves as "SHA1 not found"
in the repository.
Reference snapshots are used to speed-up "git clone" of repositories and
"wget URL" of tarball components. The reference repositories are shared
among all builds and care needs to be taken to access them in read-only mode.
Specifically, the only safe mode of access to the reference git repos is via
"git clone --reference REFERENCE_REPO http://upstream_repo local_repo".
On the other hand, we want to update reference snapshots from time-to-time
(using a provided script) and those updates need to be coordinated with
"git clone"s that ABE does. For this reason we separate checkout and build/test
stages of ABE, and protect checkout stage with a lock. Reference snapshot
updates grab this lock in exclusive mode for the updates, while ABE builds grab
this lock in shared mode when doing source checkout.
Change-Id: I3334a032fa0b422891b708bb258a0e1adf9d81b2
|
|
Currently, when jenkins.sh is called with a relative path (e.g., ./jenkins.sh),
abe_dir will be set to ".", while the rest of the script expects it to be
an absolute path.
Change-Id: Ib4c49984f89fbd6a9f48ac45a56d1d1f1aa513d1
|
|
Currently jenkins.sh depends on environment to set $gcc_branch variable,
which is fragile. Add an explicit option to set $gcc_branch in jenkins.sh
Change-Id: I74096edbdae03b7cd80e2ad4feee2d7ced6c0af4
|
|
ABE uses wget http:// to download from fileserver, but jenkins.sh uses
ssh to upload to the log server. Right now ssh fails due to missing host key
for 148.251.136.42. Fix this by using ex40-01.tcwglab.linaro.rg for both
fileserver and logserver.
Change-Id: I1fcec2d9a5cec234f065fd1c2c79f73884ea64d1
|
|
Change-Id: Ia03aba41c5eed3d550a4cd39937e398bda6a8060
|
|
|
|
The 'excludecheck' Jenkins flag is propagated to:
- jenkins.sh/BuildFarm.job
- test-backport.sh/Backport.job
Support --check flag for native builds too.
This patch does not fix the fact that jenkins.sh does not yet support --check, unlike test-backport.sh.
Conflicts:
test-backport.sh
Change-Id: I786edca0fdcec66e95e4097469888a8b0c731c79
|
|
Change-Id: I466c5cc3144ad92b1034f20f511dcbf4743c8b1c
|