Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use the RGB values of the predefined fmt library colors that both
just and just-mr use.
|
|
While there, also improve check for early return from import
method.
|
|
...to refer to repositories as a chain of bindings to be followed
starting from one of the known repositories (existing or imported).
Both the initial and the target repositories are to be kept during
deduplication.
|
|
It used to be the case, that the option -P was forwarded to
the build of computed roots. Add a test verifying we're not
regressing there again.
|
|
While building a computed root generally follows the way the main
build is carried out, certain parameters need to be cleared. In
particular, the computed root is not part of the rebuild and no
build output should be dumped anywhere.
|
|
|
|
The parsing logic was buggy:
- quotation was not properly taken into account
- multiple keys provided as "@KEY1@${KEY2}@KEY3@" were not correctly parsed
- #cmakedefine KEY1 "@KEY2@" was not correctly parsed: in this case, only @KEY2@ must be expanded, provided variable KEY1 is defined
- only lines containing the magic string were processed
|
|
... given that a proper reporting of the return code if
repo_config.SetGitCAS is contained in main anyway. Therefore, log
the details trying to set the git cas to a level less than that of
the final reporting.
|
|
... as there might be cases where it is expected that setting the
git CAS fails, e.g., if referring to the implict git repository in
the local build root as a fallback CAS.
|
|
This method returns a GitCASPtr allowing the caller to handle
failure gracefully. Therefore, logging should be at most at level
Warning as it is up to the caller to provide the fatal error message.
Moreover, it can be at lower level in cases where failure to open
that git cas is not an unexpected event, e.g., when looking for a
blob in local mirrors first.
|
|
|
|
When materializing a computed root fails, the error is reported
as a reference (in form of a blob identifier) to the log. This
indirection is necessary as many roots are, in general materialized
simultaneously. When building remotely, also upload the build log
to remote execution; in this way, it is available in the same way
as for serve-build failures (which are the other delegated builds).
One particular use case is if the failure happens on a CI build;
then the upload ensures the actual log is still available for the
observer of the CI (provided they have access to the remote execution
used by the CI).
|
|
|
|
Able to handle imports from Git repositories and deduplicate the
resulting configuration.
|
|
|
|
... as the base repository of a computed root might be absent.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... however, also build the runfiles, as they are needed to write the
target-level cache for the underlying export target.
|
|
|
|
|
|
|
|
...and ignore non-requested digests.
|
|
|
|
...and use expected to replace it.
|
|
...with local and remote build arguments required to support
computed roots.
|
|
As analysis now can compute roots, i.e., can build artifacts, it
needs to support setting the local launcher, action timeout, and
the build jobs.
The stage and rebuild arguments, which are also needed by the graph
traversal, as well as other build-related arguments, remain not
supported for the analysis subcomamnd, however they remain honored
if set by subcommands that trigger an implicit analysis (e.g.,
build or install).
|
|
|
|
One of the analysis commands marked as expected to fail fails from
wrongly passing the launcher instead of the stated reasons. As the
behaviour between standalone and separate serve endpoint versions
would become inconsistent after fixing the command line, remove
this check completely. This does not negatively influence the scope
of the test script.
|
|
|
|
Failure to execute an action can be infrastructure problems, like failure to
reach the server, etc. However, it can also be an action timeout; in the latter
case, we want to know which action it was that did time out.
|
|
|
|
Some actions are allowed to fail, typically tests. By reporting the
output of failed such actions early, the user can already have a
look at those artifacts, typically a test log, while the build is
still going on.
|
|
|
|
... even if remote-execution arguments are given. Also verify
that failure is correctly reflected in the exit code.
|
|
... to avoid unnecessary network fetches.
|
|
|
|
Extend the api to optionally accept a different API for preferred
fetching. This is already supported when fetching to a file path;
therefore, extend to keep the interface symmetric.
|