Age | Commit message (Collapse) | Author |
|
|
|
|
|
...with recent serve service fix.
While there, fix typo.
|
|
|
|
... with the main fixes included so far.
|
|
|
|
|
|
|
|
|
|
... as described in the documentation. It was never intended to have
a single string being an argument for those.
|
|
- Add missing changelog entry for 74a5fbc9644eda7f105d2d2c672a41fa5c34c6a8
- In the summary paragraph, describe what does and does not stay backwards
compatible.
- Fix typos and do proper line breaking.
|
|
|
|
Removed named keys of entries (hash, size). These prefixes were added for every chunk creating an additional overhead without any benefit.
Removed prefixes of hashes (*62*hash) appearing in native mode and creating an additional overhead as well: it is known that all of them are blobs.
|
|
|
|
Originally, the expression lanuage only contained a function to
deduplicate a list, keeping only the right-most occurence. The
reason was that this is the order needed for linking: a library
providing an open symbol has to come on the command line after the
library using that symbol (and hence making it an open symbol).
However, by now use cases have emerged that require a topological
sorting where definition comes before use; also, when composing
the value of PATH from fragments, we usually want to keep the first
occurrence in order for it to take precedence. Therefore, also
add "nub_left" as built-in function, allowing a more condense (and
slightly more efficient) description in rules instead of the
revserse-nub_right-reverse pattern.
|
|
... allowing to select only the keys in a specific subdir,
and move the them to top-level.
|
|
... and drop the corresponding design document as implemented.
|
|
|
|
... and the transition path on upgrade.
|
|
|
|
... and mention the fix in CHANGELOG.
|
|
|
|
|
|
... to report the changes so far since the last release.
|
|
|
|
|
|
|
|
|
|
|
|
To avoid lock contention, our task system queues tasks in several
queues. In order to know when there is no more work to be done, a
global counter keeps track of the total work. Here, it is important
that this counter be incremented before a value is added to the
queue, for otherwise some other thread could pick it up and decrement
the total work load, hence getting us in a state where the counter
underestimates the total amount of work to be done. Fix the order
of those operations.
|
|
The result of the analysis is a JSON object containing the keys
`"artifacts"`, `"runfiles"`, and `"provides"`. This JSON object, by
default, is logged. However, it might be useful to process the data
contained in it, while, for example, developing new rules.
This patch adds a new command line option (`--dump-result`), reserved
to the subcommand `analyse`, to dump the analysis result to the given
file or stdout (if `-` is given).
|
|
|
|
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.
|
|
To avoid too many intermediate results, we compute the union of
a list in a divide and conquer fashion. Of course, for a disjoint
union, the recursive calls on the lists of half the length have to
be disjoint as well, i.e., the template parameter kDisjoint has to
be passed on. Fix this.
|
|
|
|
... to clean up what can be done without losing cache information.
|
|
|
|
At some point we have to decide if a given git repository URL is
a path. So far, we assumed that anything not starting with ssh://,
http://, or https:// is a path. This ignores the facts that
- the file:// scheme, while referring to a file, does not denote
a relative path starting file://,
- the [user@]host:path scheme is not a path on the local machine,
- there exist the URL schemes git://, ftp://, and ftps://, and
- future extension might add additional schemes.
To also correctly handle new schemes that git might add (which we
indeed can handle, as we simply shell out to the git binary), we
reverse the approach: we give the user the means to unambigiously
specify that they refer to a path on the local machine, by either
- using the file:// scheme,
- providing an absolute path starting with /, or
- providing a relative path starting with ./
All other schemes will not be modified. The file scheme, as well
as the git://, http://, and https:// scheme, are handled interally
using libgit2; all others are passed on to git in an unmodified form.
|
|
... to pull in rc files from different locations, given by
location objects.
|
|
|
|
... that was implicitly fixed fb365b17ca339a25688ff61918280a46d64943b9.
|
|
|
|
|
|
The ToJson method of RemoteAddress was wrongly creating a list
instead of a simple string, thus a wrongly formatted backend
description was being used to shard the target cache. This however
does not affect the correctness of the build.
Changelog also updated accordingly.
|
|
... and improve log messages in case of failure.
|
|
|
|
|
|
The install target, like any other target, has to have artifacts
and runfiles being proper stages, i.e., in such a way that the
keys can be interpreted as names in the file system without causing
conflicts. This property used to be unchecked, thus allowing users
to define mal-formed targets that, when used as inputs to actions,
would result in unspecified layout of the action directory. Fix
this by adding an appropriate check enforcing well-formedness of
the resulting stage.
|
|
... clarifying the effect of the target-cache-key change. In
particular, explain that, as the cache-key format has changed
in a non-overlapping way, no care has to be taken on update, but
old target-cache entries will not be used by the newer version
of the tool.
While there, fix some typos and properly break lines.
|
|
... ensuring that just-mr passes on the specified environment
variables (and only those) to the tree-generating action.
|