Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
...to prevent additional conversions to ArtifactDigest from plain strings.
|
|
|
|
...to simplify further refactoring.
|
|
|
|
! => not; && => and, || => or
|
|
Also switch to using the fields from RemoteContext instances
instead of those from ApiBundle.
|
|
...and replace it with passed instances created early via a builder
pattern.
Tests are also updated accordingly.
|
|
...wherever an ApiBundle is already being passed.
|
|
|
|
Use a builder pattern for creation and validation, in a manner that
allows also other authentication methods to be added in the future
besides the current TLS/SSL.
The main Auth instances are built early and then passed by not_null
const pointers, to avoid passing temporaries, replacing the previous
Auth::TLS instances passed by simple nullable const pointers. Where
needed, these passed Auth instances are also stored, by const ref.
Tests also build Auth instances as needed, either with the default
'no certification' or from the test environment arguments.
|
|
|
|
...instead of not_null const ptr.
|
|
|
|
|
|
...instead of using singleton calls.
|
|
...with a default implementation.
Although it is not used directly, it will be needed for instantiation of std::optional.
|
|
|
|
If the serve endpoint reports an internal error, local builds
should not continue and the error message should be provided.
Similarly, if the serve endpoint promises the target cache value to
be in remote CAS, but the client cannot find or process it as
needed, then a local build again should not continue and the reason
be provided as an error message.
|
|
...by increasing granularity in client-side reporting. This allows
to correctly continue with builds of local targets if the serve
endpoint does not have the requested target, as well as improve
the reporting for users on failure.
|
|
Some of the more specific issues addressed:
- missing log_level target/include
- header-only libs wrongly marking deps as private
- missing/misplaced gsl includes
|
|
|
|
The just serve client-side and API methods, as well as just-mr
utilities should use the noexcept specifier.
|
|
The error log level should be reserved for events that inevitably
lead to a failed build. A failure to receive a target from the serve
endpoint, however, is not such a case; for performance reasons,
and also to have the same artifacts as everyone else in the case
of non-reproducible dependencies, just inquires the serve end point
for every export target whenever a serve end point is given. In
this case, the build just continues even if the serve end point
is, e.g., lacking a certain root.
|
|
|
|
request
|
|
|
|
|
|
Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com>
|