Age | Commit message (Collapse) | Author |
|
|
|
Before this patch, if the option `--remote-execution-property KEY:VAL`
is repeated multiple times (also with different `KEY`s), only the last
one is taken into account.
This patch fixes the intended behavior.
|
|
Trees are first-class objects for justbuild. To allow interoperation
with other tools, it is necessary to provide those objects in a
standard format; for directories, those are archives. Hence procive
a corresponding option.
|
|
Main culprits:
- std::size_t, std::nullptr_t, and NULL require <cstddef>
- std::move and std::forward require <utility>
- unordered maps and sets require respective includes
- std::for_each and std::all_of require <algorithm>
|
|
|
|
|
|
... to clean up what can be done without losing cache information.
|
|
|
|
|
|
Three new command line options have been added:
- `--max-attempts`
- `--initial-backoff-seconds`
- `--max-backoff-seconds`
|
|
...options from the generated help messages, as these are not used
for the install-cas subcommand.
This also updates the man page accordingly, where the dispatch file
was marked as supported, as well as update any test affected by
these changes.
|
|
|
|
The `just serve` command defaults to also provide the remote-execution
endpoint if none is specified. The `just build` implicitly uses the
serve endpoint as remote-execution endpoint if no other endpoint is
specified. In this way, the serve endpoint has become the universal
endpoint for simple set ups. Simplify that usage further by providing
a short command-line option.
|
|
|
|
|
|
... to allow selecting a sub object of a specified tree.
|
|
In this way, the user can specify which execution endpoint
to use depending on the execution properties.
|
|
... also, gracefully handle the case of a missing working
directory when determining the current module, falling back
to the top-level module.
|
|
... with two minor code base changes compared to previous
use of gsl-lite:
- dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not
wrapped in gsl::not_null<> anymore, due to lack of support
for wrapping std::unique_ptr<>. More specifically, the
move constructor is missing, rendering it impossible to
use std::vector<>::emplace_back().
- utils/cpp/gsl.hpp: New header file added to implement the
macros ExpectsAudit() and EnsureAudit(), asserts running
only in debug builds, which were available in gsl-lite but
are missing in MS GSL.
|
|
... asking just to transfer everyting installed to the local CAS first.
|
|
... and, in this way, avoid duplication of these constants that
might lead to inconsistencies between those two tools later.
|
|
google::longrunning::Operations::GetOperation
For each action that is executed, an entry is added to a shared thread
safe cache. Once the number of operations stored exceeds twice 2^n,
where n is given by the option --log-operations-threshold, at most 2^n
operations will be removed, in a FIFO scheme.
|
|
... instead of only honoring the latest argument. In this way,
standard overlays coming from the launcher configuration can be
amended in individual invocations.
|
|
|
|
..., i.e., the requirement that the positional arguments form a
syntactically valid target name. An explicit error message (created
by the target-name parsing) is preferrable over tacitly dropping all
but the last up to two arguments (which is the meaning of CLI11's
expected(2)).
While there, drop duplicate full stop in error message.
|
|
This subcommand starts a single node remote execution service honoring
the just native remote protocol.
If the flag --compatible is provided, the execution service will honor
the original remote build execution protocol.
New command line args supported by this subcommand:
-p,--port INT: Execution service will listen to this port. If unset,
the service will listen to the first available one.
--info-file TEXT: Write the used port, interface, and pid to this file
in JSON format. If the file exists, it will be overwritten.
-i,--interface TEXT: Interface to use. If unset, the loopback device
is used.
--pid-file TEXT Write pid to this file in plain txt. If the file
exists, it will be overwritten.
--tls-server-cert TEXT: Path to the TLS server certificate.
--tls-server-key TEXT: Path to the TLS server key.
Co-authored by: Klaus Aehlig <klaus.aehlig@huawei.com>
|
|
Co-authored-by: Michael Thies <mail@mhthies.de>
|
|
|
|
|
|
... dumping only the configured targets that are export targets.
Those targets are of particular interest as those are the targets,
as they are the high-level caching points and also often serve
as interface between projects.
|
|
|
|
|
|
Add an option --dump-vars showing the variables of the configuration
used (including the use of them being unset). This information can
be used, e.g., to export a given target in a maximally flexible way.
|
|
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
|
|
... to be able to report the respective graph for later analysis
by other tools.
|
|
|
|
|
|
|
|
|
|
|
|
The remote execution endpoint shards the target-level cache; still,
for analysis, we want to specify a particular target-level cache,
e.g., to analyse the inputs of a particular action that failed
remotely. Note that the action identifier depends on the target-level
cache in question, due to the extensional projection implicit in
target-level caching.
|
|
... as the --request-action-input option provides a clean way of
restoring the inputs to a specific action, without the need of
interacting with the internal directory structure of the tool. In
particular, the new option also works for remote builds.
|
|
Add an option to change the requested result to be (as artifacts)
the input stage of a specified action. In this way, the inputs to
individual actions can conveniently be inspected, e.g., for local
debugging of why an action failed.
|
|
|
|
... and cache endpoint address for rebuilding.
|
|
While there, also document the option (in more detail) in the man
page.
|
|
|
|
... which were all ignored except the last. CLI11 usually
only calls the option function once all options have been
parsed. This change ensures that the option function is
called everytime the option is parsed.
|
|
|
|
|