summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
AgeCommit message (Collapse)Author
2024-04-10bugfix: cli: remote-execution-property: allow for accumulating multiple pairs.Alberto Sartori
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. (cherry picked from commit 2e953b04bbd8e619172c9d0eeafd0342700d6ee9)
2024-04-10bug fix in expresion, Union: propagate the disjointness propertyKlaus Aehlig
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. (cherry picked from commit 469a7190bee490344d147099c3511fc45e2aadf0)
2024-04-10end-to-end tests: fix tool set upKlaus Aehlig
For historic reasons (as quite some tests date back till before the public name of the build tools was decided), the end-to-end tests assume generic names for the tools. This used to be done by simple staging the artifacts. As soon as we started to support dynamic linking, we also have to allow the runtime dependnecies, as provided by our install-with-deps rule. ae2e515ab84ea3ab08764685f84441c0741f8039 attempted to add those dependencies by replacing the staging by a generic action doing a copy. This, however, made the "lib" dir containing the dependencies an opaque tree - defined by different actions, and, more importantly, - containing only the run-time dependencies of one of the tools. This causes staging conflicts between those two lib dirs (currently hidden by a bug in the computation of the disjoint union) and things only worked because in the canonical configuration used for testing both "lib" dirs are empty anyway. The correct way of adding dependencies while renaming the tool is still staging; fix this. (cherry picked from commit ddd2f5937a9016f5ff2f6bf659ba459129e49826)
2024-04-10atomic: Fix potential raceOliver Reiche
... as any unguarded access to non-const members of the same shared_ptr instance require the use of `atomic_load` and `atomic_store`. (cherry picked from commit bda3dabe37fdde648f90ce5aa4b20d7336570cf0)
2024-04-10Correctly report taintedness of "configure" targetsKlaus Aehlig
Taken from commit fb365b17ca339a25688ff61918280a46d64943b9
2024-04-10just-mr: don't make the command line pretend a fixed nameKlaus Aehlig
Our fetch and launch tool is parametric in the tool to be launched. Reflect this in the documentation and do not pretend it to be the name "just" hard coded. While there, also fix the hard-coded name "git" in the documentation of the default value. (cherry picked from commit e15f11ce0a7813602d9627e95ae9fb125afa891e)
2024-04-10bootstrap: accept a build dir inside the source treeKlaus Aehlig
While it is best practise to build outside the source tree, some package formats require that a build be carried out inside the source tree. As there are no principle obstacles, as long as a non-existing directory is requested as build dir, support it by ignoring the destination in the recursive copy. (cherry-picked from 264ba60e221231109201da1c6d336c642959a0c2)
2024-04-10SystemCommand: Fix handling of child statusOliver Reiche
(cherry-picked from commit c3d28a4cc3115644414ddba41d4b7ada5fd74fc2)
2024-04-10expression map: properly wrap logger for import callsKlaus Aehlig
... to provide an informative error message on how a rule is related to a particular import and, in particularly, at which expression a problem with the import occurred. While there, also improve the message in the other error case to follow our standard line-breaking scheme. (cherry picked from commit be91d666a483d0c982aea3c7b2d77a1c1dfa1bf9)
2024-04-10Start 1.2.5 development cycleKlaus Aehlig
2023-12-19Release 1.2.4v1.2.4Klaus Aehlig
2023-12-13Filesystem: Fix copy overwrite of symlink with fileOliver Reiche
... and improve log messages in case of failure. (cherry picked from commit 65d35006de65e540355833a56bcaa7659f6f1afd)
2023-12-13LocalAction: Fix staging of empty treesOliver Reiche
(cherry picked from bab0d949d51fe4f10c8d492083427d514206cb63)
2023-12-13built-in "install" rule: verify well-formedness of resulting stageKlaus Aehlig
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. (cherry picked from f66db4bb21efeead140a453f91280bb9471f24a9)
2023-12-13Start 1.2.4 development cycleOliver Reiche
2023-11-15Release 1.2.3v1.2.3Klaus Aehlig
2023-11-15bugfix: Also unlink symlinks before installingOliver Reiche
Make sure that all CopyFile, WriteFile, and CreateSymlink functions properly unlink the target file (if it exists and overwrite requested) to avoid interferences of the install command. With this change, the clean up step for install-cas and the within GraphTraverser can new be omitted. (cherry-picked from 04e2f0aa0ccfe4f39c5f6c713bde182c6b7704dd)
2023-11-15Fix serialization of the target cache keyOliver Reiche
... which was accidentially a list of (a single) object, instead of only a single JSON object. (cherry-picked from 63a874517618a57dd5ca223d19a795c28a39c123)
2023-11-15Base export target chache key on the exported targetKlaus Aehlig
The cache key for an export target should contain as target name that of the export target (and its effective configuration) rather than the exported target. As we computed the repository part of the cache key for the target included in the key, this was still a correct cache key except in the case an explicit file reference was exported (as here, the information that the file was to be taken rather than the target of the same name got lost). We still fix this issue by making the implementation match our design (rather than by including the file-reference bit in the cache key), as the original design gives the cleaner protocol for target-level caching as a service. (cherry-picked from 180d8d89ffa92f8c3e8b8bcb912ec1a4990569c9)
2023-11-15just execute: fix race condition during garbage collection...Alberto Sartori
...of the internal cache used for keeping track of running operations. (cherry-picked from bec4dbd9bd995f73eab1ff803e7895187068ddb0)
2023-11-15Start 1.2.3 development cycleKlaus Aehlig
2023-10-17Release 1.2.2v1.2.2Klaus Aehlig
2023-10-17Start 1.2.2 development cycleKlaus Aehlig
2023-08-29Release 1.2.1v1.2.1Klaus Aehlig
2023-08-28Start 1.2.1 development cycleOliver Reiche
2023-08-25Release 1.2.0v1.2.0Klaus Aehlig
2023-08-22Release 1.2.0~beta3v1.2.0-beta3Oliver Reiche
2023-08-18Release 1.2.0~beta2v1.2.0-beta2Klaus Aehlig
2023-08-16Release 1.2.0~beta1v1.2.0-beta1Klaus Aehlig
2023-08-16Introduce configuration variable TOOLCHAIN_CONFIGOliver Reiche
... to pass along toolchain settings for current and future toolchain definitions. Configuration variable COMPILER_FAMILY is replaced by TOOLCHAIN_CONFIG["FAMILY"].
2023-08-14Update CHANGELOGPaul Cristian Sarbu
2023-08-14Update CHANGELOGKlaus Aehlig
2023-08-08Unlink files before creation on install-casKlaus Aehlig
If install-cas finds a file in the target location, unlink it before writing (in the same way as install does already). In this way, we avoid changing other file locations in the presence of hard links.
2023-07-26remote api: honor the --raw-tree optionKlaus Aehlig
2023-07-13bytestream_server: store temporary files under the local-buil-rootAlberto Sartori
The bytestream server implementation (deployed by just execute) now stores the temporary files under $local_build_root/protocol-depenedent/generation-0 so that they can be garbage collected if "just exectue" is terminated before they are cleaned up.
2023-07-10Update CHANGELOG: Fix mishandling of gitignore filesPaul Cristian Sarbu
2023-07-05Add CLI argument to dispatch endpointKlaus Aehlig
In this way, the user can specify which execution endpoint to use depending on the execution properties.
2023-06-28just-mr: move tmp-workspace under generation rotationKlaus Aehlig
... so that any left-over directories, in case of abnormal termination are cleaned up eventually.
2023-06-28Update CHANGELOG: Relative non-upwards symlinks support as a new featurePaul Cristian Sarbu
2023-06-22Update CHANGELOG: action properties are a new featureKlaus Aehlig
2023-06-20Update changelogOliver Reiche
2023-06-02CHANGELOG: document fixes since 1.1.0 so farKlaus Aehlig
2023-05-23Storage config: also specify the location of the execution rootKlaus Aehlig
As local execution is tightly coupled to storage, also specify the layout in the storage configuration. In this way, we have a central place specifying the layout of just's cache directory and avoid accidentally getting into conflicting situations. While there, also move the execution root under the generation regime, to ensure that left-over execution directories (e.g., after a forceful termination of the program) eventually get cleaned up by garbage collection.
2023-05-22just-import-git: support assuming the canonical single-repo configKlaus Aehlig
Add an option --plain pretending that the remote repository configuration is the canonical single-repository one. In this way, repositories not having a multi-repository configuration (e.g., code built with a foreign build system) can be imported in the same way to a template, thus providing a more uniform interface. This can also be useful, if a repository is to be imported completely without its transitive dependencis.
2023-05-19Start 1.2 development cycleKlaus Aehlig
2023-05-19Release 1.1.0v1.1.0Klaus Aehlig
2023-05-15Relase 1.1.0~beta2v1.1.0-beta2Klaus Aehlig
2023-04-28Release 1.1.0~beta1v1.1.0-beta1Klaus Aehlig
2023-03-24just install{,-cas}: add --remember optionKlaus Aehlig
... asking just to transfer everyting installed to the local CAS first.
2023-03-08just-mr: fix options mismatchesPaul Cristian Sarbu
... both with respect to just options and the man page specifications. Option -L of just-mr was reassigned as a short name for --local-launcher, matching its use in just. Its place is now correctly held by the full name option --checkout-locations, as per the section-1 man page.