diff options
author | Diana Picus <diana.picus@linaro.org> | 2018-02-05 12:36:49 +0100 |
---|---|---|
committer | Diana Picus <diana.picus@linaro.org> | 2018-02-20 10:14:58 +0000 |
commit | b03e5082d10155c918a3cbb903ceb0bf322e7cd8 (patch) | |
tree | 031eec8ec29f9d0346fcc254791cf1df28ae78ea /buildbot | |
parent | 6b1935feeb47058485f06b5b7428719f62710343 (diff) |
Add subcommand for running complex scenarios
The primary purpose of this subcommand is to help us reproduce
buildbots, but I think in the long run it will be flexible enough to
accommodate other goals as well (e.g. cross-compilation).
There are some very important bits that are clearly missing at the
moment, but we can work on them incrementally. One of those is that at
the moment we take the path to an LLVM worktree as input - in the future
we should be able to take an SVN revision and setup the LLVM sources as
part of the script. We also want to be able to configure which
subprojects to use for each stage, what flags to use for each stage and
for the test-suite etc (yes, there will be lots of parameters, but that
will become less of a concern when we introduce support for config
files).
In the future, we'll probably want to change the interface. At the
moment, we pass a lot of things separately that maybe don't need all
this flexibility. In this version of the patch, we would pass something
like:
"--source-dir <sourceDir> --stage1-build-dir <buildDir1> \
--stage2-build-dir <buildDir2> --test-suite <testSuiteDir> \
--sandbox <sandboxDir> --lnt <lntDir>"
The script then knows that we want 2 stages because we have a
"--stage2-build-dir", and also that we want to run the test-suite
because we have a "--test-suite".
Given the nature of this subcommand and how in the long run we will
probably want it to setup everything on its own, we'd be better off with
a single "--root-dir <rootDir>" argument, and hardcode the path to the
sources as "<rootDir>/llvm", the path to the build directories as
"<rootDir>/stageN" etc. We could also probably assume that the repos are
in "<rootDir>/repos/test-suite" and respectively "<rootDir>/repos/lnt".
We could then have a much simpler interface along the lines of:
"--root-dir <rootDir> --enable-stage2 --enable-test-suite"
For the other subcommands, we prefer to be very specific about
everything, because they're meant to be very flexible and usable from
different contexts (with or without wrapper scripts to help make things
less tedious). This new subcommand is pretty different though, since it
combines more than one functionality. We may even consider making it a
separate script instead of a subcommand of llvm.py, but for the time
being it's easier to prototype in this form.
Also, we may want to change the name :)
Change-Id: Ia6bf1a2f034d5b84572879215fe48f58addbfe2c
Diffstat (limited to 'buildbot')
0 files changed, 0 insertions, 0 deletions