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.
2024-04-05bug 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.
2024-03-20Add new subcommand add-to-casKlaus Aehlig
2024-03-11gc: add option --no-rotationKlaus Aehlig
... to clean up what can be done without losing cache information.
2024-03-05Update documentation, now that "foreign file" roots are implementedKlaus Aehlig
2024-02-20Git URL scheme handling: whitelist path instead of non-path protocolsKlaus Aehlig
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.
2024-01-30just-mr rc: honor "rc files" optionKlaus Aehlig
... to pull in rc files from different locations, given by location objects.
2024-01-22just-mr: Disable all non-HTTP but FTP and TFTPOliver Reiche
2024-01-19CHANGELOG: document the fix of propagating taintedness in "configure" targetsKlaus Aehlig
... that was implicitly fixed fb365b17ca339a25688ff61918280a46d64943b9.
2024-01-18Document the implementation of tc deps tracking on gcKlaus Aehlig
2023-12-15changelog: Update 'just serve' entryPaul Cristian Sarbu
2023-12-12Fix formatting of blob used to shard target cachePaul Cristian Sarbu
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.
2023-12-12Filesystem: Fix copy overwrite of symlink with fileOliver Reiche
... and improve log messages in case of failure.
2023-11-23Mention blob splitting in changelogSascha Roloff
2023-11-22LocalAction: Fix staging of empty treesOliver Reiche
2023-11-17built-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.
2023-11-14Update ChangelogKlaus Aehlig
... 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.
2023-11-13Add end-to-end test for environment handling of "git tree" repositoriesKlaus T. Aehlig
... ensuring that just-mr passes on the specified environment variables (and only those) to the tree-generating action.
2023-10-27Base 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.
2023-10-25just execute: fix race condition during garbage collection...Alberto Sartori
...of the internal cache used for keeping track of running operations.
2023-09-13CHANGELOG: describe current state of affairsKlaus Aehlig
2023-08-25Start 1.3 development cycleKlaus Aehlig
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.
2023-03-08changelog: fix typosPaul Cristian Sarbu
2023-03-02just: make -D options overlayKlaus Aehlig
... instead of only honoring the latest argument. In this way, standard overlays coming from the launcher configuration can be amended in individual invocations.
2023-02-02changelog: add just execute subcommandAlberto Sartori