Age | Commit message (Collapse) | Author |
|
Building flang needs more than 1GB per core. Try with 2GB instead.
Change-Id: Ibe1a06d5e529eaad9ea3b4a9d6c569a1171bed9c
|
|
Flang and MLIR are new to the monorepo. By default, MLIR is enabled and
flang is disabled.
This patch enables flang on aarch64 (and x86 for comparison purposes).
It also disables MLIR on armv7 since we do not support it (there are
many test failures since 32-bit support in general is missing /
incomplete / untested in MLIR).
Change-Id: I2cfa31762001fbffc0c41717d3d3792a5ac757d7
|
|
Change-Id: I73e2ef1da8cb474b18a366ecccae09ab83185480
|
|
Sigh, the previous patch used a syntax that applies only with using an
rsync daemon (with rsync: protocol).
Let's use -e 'ssh -p 22', like we do in other scripts.
Change-Id: I41d3cb7ff843abcc56a94775e2fd04c5f317f7fa
|
|
Adding "-p 22" does not work for rsync, which expects the port number
as a ":port" suffix for the host specification.
Change-Id: I41dbfbe11f73fd02386f90a0266488557a0009c7
|
|
Our default ssh config points to the host container where the
directory containing the binary tarballs is not mapped.
Use port 22 to upload them to the right location.
Change-Id: I5f18365f9d36541e3133ca81ed9ac2ac560bef30
|
|
Change-Id: I9fd245d77848f0d8d1d2117ed117b1f17e2bcdd5
|
|
Tcwg-benchmark-* jobs fail only due to infrastructure reasons.
Benchmark build and run failures are assigned special 99..99 and
88..88 metrics, but the jenkins build succeed.
Change-Id: I71639b6d4e1fd2a139390884c0d1eae0bb89a95d
|
|
Change-Id: I8c6ec7118f9015fa3ad3ea8c344fb66b5bf9a357
|
|
... which is represented by tcwg-benchmark-* build returning UNSTABLE
result.
Change-Id: Ifa8be8e601ef93412a3a62d9bed4a078fe38fa49
|
|
They are based on GCC's compare_tests but support a list of unstable
tests.
Change-Id: Icc582846d2cdd5df895cad373e3021fc7e154fbd
|
|
Don't expect ${c}_url defined when ${c}_branch is "baseline".
Change-Id: I436efd471dd55655ea9a125194823ed084552ecc
|
|
... which are referenced in base-artifacts repo.
This problem occurred when bkp-01.tcwglab, where we store benchmarking
results, ran out of disk space, so tcwg-benchmark-* jobs could not
upload their results. This didn't stop tcwg_bmk-build.sh to treat
this failure as regressions in various configurations, which were
then bisected down to the first commit. At that point baselines for
individual configurations were reset to the new failing state, and
references to the missing results were committed to base-artifacts repo.
We will fix this problem in several ways:
1. We have added tcwg-cleanup-stale-results.sh to parse base-artifacts
repo and delete results with no references from that repo (thus
preventing bkp-01.tcwglab from running out of disk space).
2. We are adding this workaround to purge broken entries from
base-artifacts repo.
3. We will commit .csv summary of results into base-artifacts.git so that
we won't need to rely on on-the-side storage of perf.data files.
Change-Id: I922df040292c1686f4461052d21bdeb98bea0b03
|
|
Change-Id: Iad5af1671239484b5a55830c75c23a8158d56252
|
|
Change-Id: I6e32f290ba92449905ca0c215ec13d0384ada938
|
|
Change-Id: Ibb21daee5883fade944073ef4cdb1d57ba905548
|
|
Change-Id: Ic648660f11602ebf82a34bd95469ba1018592287
|
|
Change-Id: I758566e05736de9c62ba8431843cb8c1c482b2d3
|
|
value
This is currently either build, bench or test.
Change-Id: I96fa7adad47e0bb8d95668462218fb21d08a2cd7
|
|
Change-Id: I4a6ce34a182245a77d5bb3e7ff59ac9667906430
|
|
Change-Id: I6735863b1937995e6e4883e0a811376222219bf4
|
|
See https://reviews.llvm.org/D80573
Change-Id: I6deee117fab24fcf91a9e283fec3898124accc9b
|
|
We're doing this because our .ssh/config connects to the host container
on dev-01 by default, and that doesn't have the upload directory mapped.
Change-Id: I80305eb168abd62eab95ce6c627178593a52a905
|
|
Change-Id: Iffa2dff5d9a937c94e9c69a4102c4739788ddefb
|
|
Change-Id: I472bf099af6d2ab6fb9dbb70c939634aaefafd48
|
|
... replace them with $bad_url.
Change-Id: I73224638e852367ed8c42a178f36e9f7bf6c401e
|
|
Change-Id: Id9495fa4785702f155bc845f4db1f8b7691e9a48
|
|
... when not using special "baseline" branch specifier.
Change-Id: If3aabeb1a2729b8d270d842fdd0ad5809ebc990d
|
|
Change-Id: Ide6dbb22152a5096ba21667f497f2571384579de
|
|
Change-Id: I79dc695cc2d4955516fc2ab55dfed031501d0a6b
|
|
... while keeping general logic the same. This approach sanity
checks that 2 configurations of cflags in *-vs-* configurations
are using the same mode.
To use different arm/thumb modes in *-vs-* configurations we would
need to build GCC and Glibc 2 times, which we could do, if required.
Change-Id: I3d9e6152b8b01f561e7e60557ccc680e99728103
|
|
Make "build_abe FOO" build FOO and make "build_abe check_FOO" run
FOO's testsuites. This also makes tcwg_gnu's bisections more
efficient, since we will ignore FOO's build problems in "check"
configurations.
Change-Id: I71c644e801828b94d880bed7fe440e4db3ffb40b
|
|
Don't bisect benchmark build/run failures in *-vs-*
configurations. These failures will also appear in non-vs
configurations, and will be bisected more efficiently.
Change-Id: Iad4a70a9b13e5509ff95e8dabde942a55f5c10b9
|
|
Remote_exec can exit before tcwg-benchmark-$hw job finishes,
and that's the reason why we loop until we see "Finished: "
on the job's console log.
Change-Id: Ib579a48e6a1e1f20d9f6d748efcf693df27d5c20
|
|
Right now when bootstrap fails we get score "0" from reset_artifacts,
and when bootstrap succeeds, but tests fail, we get same "0" from
"build_abe bootstrap". This makes us ignore bootstrap failures.
Fix by assigning reset_artifacts "-1" score.
Change-Id: I021c7f2c987634cde0a8052191955ac7c8a05f2e
|
|
... to tcwg-amp-03. This reduces load of linaro-armv8-01.
Change-Id: Ie742cd2af0dc4db70744a2bb91e2025b9a8b5ebe
|
|
Pass same fake git URL to abe in both build and check steps.
Before this patch we missed ".git" in the check step, which
caused ABE to try rebuild the component.
Change-Id: I0912854876b0054f413d168bd9152a2f530047a0
|
|
Move aarch64 full and global-isel bots to tcwg-amp-03 and armhf full
and global-isel bots to tcwg-amp-04.
Change-Id: Ie1192c3c908a540cb54494ad54ba90a6dad9a507
|
|
... to avoid ABE updating sources.
Change-Id: I82ef178a1dc1054b6642bd98335fcf013a425914
|
|
Mark expected exits
It is expected that commands run by
run_step can fail and return non zero.
This causes the build scripts to exit
early and print misleading traceback.
So that we only catch unexpected exits,
mark expected failures with a magic
return code. Only print traceback
when the code is different from this.
Change-Id: I8b92ca1cb941481d4daa8ab87ee74b2b394b24ac
|
|
The function runs in subshell so we were trying
to return build_ret after that subshell had finished.
Change-Id: I7baf15077451ca563dce09facf0131ceb38c8bc1
|
|
Before it was only written when the job failed.
(though the build number was in the log if you
looked hard enough)
This can be used to go from run_step failing,
to the log of the actual benchmark.
Change-Id: I8189518f948f9ac76d090ff635209a5e69762a98
|
|
When I fixed a shellcheck warning here I changed
an expression that previously would always
delete the build folders. To one that would only
do so when we were running a check step.
Without deleting the build folders you got this
in the "bootstrap check" step:
00:01:25 configure: loading cache ./config.cache
00:01:25 configure: error: `CC' has changed since the previous run:
00:01:25 configure: former value: `gcc'
00:01:25 configure: current value:
`armv8l-unknown-linux-gnueabihf-gcc'
(since the compiler built in "bootstrap" has
been added to the PATH)
The old behaviour works but only acidentally.
Instead we should only update the source checkouts
during non check steps. This means that ABE doesn't
see a change and try to reconfigure. With that,
there's no need for us to clean out the .stamp
files for a check step anymore.
Change-Id: Ifc5574fe422ae8a01618a1de02affceb7733ae0b
|
|
This if was originally written with -o -a but
changed to || and && to fix shellcheck warning:
https://github.com/koalaman/shellcheck/wiki/SC2166
Now we find out why shellcheck warns about that
because the replacement expression was incorrect
despite looking the same.
This:
X -o Y -a Z
Was converted to:
X || Y && Z
Which does:
(X || Y) && Z
But the orignal behaviour is:
X || (Y && Z)
Change-Id: I0bebd9c008e605953c0af8d26df15d811816ff14
|
|
In [1] we have a binutils repo corrupted, which prevents its update and
most git operations. Git fetch returns:
error: object file .git/objects/32/d1f47a126567f24be18e7cadf5d2490968c986 is empty
error: object file .git/objects/32/d1f47a126567f24be18e7cadf5d2490968c986 is empty
fatal: loose object 32d1f47a126567f24be18e7cadf5d2490968c986 (stored in .git/objects/32/d1f47a126567f24be18e7cadf5d2490968c986) is corrupt
fatal: The remote end hung up unexpectedly
This kind of problem happens due to Lab power outages, jenkins restarts,
jenkins node container restarts, and other infrastructure artifacts.
The solution is to remove a repo where a basic "git status" command fails.
[1] https://ci.linaro.org/job/tcwg_kernel-bisect-gnu-master-arm-next-allyesconfig/78/artifact/artifacts/build-baseline/03-build_abe-binutils/console.log/*view*/
Change-Id: I33cd22787a62c3759a950f3a1cc84d923f2f370c
|
|
The line number you get from the previous
message is confusing. For example:
ERROR at run_step:524
Means that something in the function run_step,
which was called from line 524, called exit.
Instead, add a Python style traceback that
shows the call stack with file, line and the
content of that line.
(though unfortunatley we can't get the line no.
of the exit itself)
Example traceback:
ERROR Traceback (most recent call last):
File: /tmp/foo.sh, line 37
foo # hey!
File: /tmp/foo.sh, line 32
bar # hi there
File: /tmp/foo.sh, line 1
(trap handler, 'exit' call line is unknown)
Change-Id: Id6a2734e2b5ef74d05cd51cdbde9a95e5d5a4b44
|
|
The current code is causing docker
to print "ERROR <...>", which isn't an error
for us and confuses the Jenkins log.
Change-Id: I902bfb7ca66d781b23726785852381e41e4a76e4
|
|
At the moment we add cleanup of $WORKSPACE/.lock only to v1 interface
due to
cat <<EOF
CONTAINER_CLEANUP=${CONTAINER_CLEANUP}; <lock_cleanup>
EOF
not updating /current/ value of CONTAINER_CLEANUP, so <lock_cleanup>
doesn't get added to ${prefix}container_cleanup() routine.
This patches fixes this and somewhat simplifies the whole cleanup logic.
Change-Id: I6b78e835876b6c1353b2a7501e3149c81ebbeefe
|
|
local only sets scope it needs a value to
actually exist.
Change-Id: I6a790da6022b4ad95e1c5534b325f4c170131b74
|
|
When a step fails and we carry on you get this:
RUNNING <step>
CARRYING ON after failure in <step>
HANDLING previous failure in <step2>
RUNNING <step2>
Which in context can be read to mean that <step> failed
then <step2> *also* failed. (especially if you don't know
to expect another RUN message)
Now we'll see:
HANDLING <step2> will handle previous failure
RUNNING <step2>
Change-Id: I52da2ce8ea976524f366fb590c230303f027c644
|