summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-05Add a test verifying that no working directory is neededKlaus Aehlig
2023-06-05git cas: only compute absolute path if not absolute alreadyKlaus Aehlig
... and in this way, continue to work correctly in the absence of a current working directory.
2023-06-05File Locking: only compute absolute path, if not absolute alreadyKlaus Aehlig
... and in this way, ensure we can lock files given by absolute path even if we don't have a working directory. While there, drop uncessary split just to combine of the file name.
2023-06-05just: improve error reporting on missing pwdKlaus Aehlig
... also, gracefully handle the case of a missing working directory when determining the current module, falling back to the top-level module.
2023-06-02CHANGELOG: document fixes since 1.1.0 so farKlaus Aehlig
2023-06-01man: Minor format and consistency improvementsOliver Reiche
2023-06-01man: Convert man pages to markdownOliver Reiche
... for easy processing with pandoc.
2023-05-31Avoid potential malloc between fork/execOliver Reiche
2023-05-31Support FINAL_LDFLAGS variable for binariesOliver Reiche
... and set default stack size to 8 MB.
2023-05-31man: Document ignore-special entry for all just-mr rootsPaul Cristian Sarbu
2023-05-31git tree repos: Add option for ignore-special root...Paul Cristian Sarbu
...and fix missing origin field initialization for progress tracing.
2023-05-31distdir repos: Add option for ignore-special rootPaul Cristian Sarbu
2023-05-31archive repos: Add option for ignore-special rootPaul Cristian Sarbu
2023-05-31git repos: Add option for ignore-special rootPaul Cristian Sarbu
2023-05-31file repos: Add option for ignore-special rootPaul Cristian Sarbu
2023-05-31utils: Relocate the std::filesystem::hash_value libc fix...Paul Cristian Sarbu
...and make the use of std::hash consistent. This will make it easier to remove the fix once the libc implementation we use catches up with the C++ standard.
2023-05-31just: Add handling of ignore-special rootsPaul Cristian Sarbu
2023-05-31test: Extend filesystem tests to git repos with symlinks...Paul Cristian Sarbu
...using the new ignore-special tree variant.
2023-05-31test: Streamline filesystem git test repo...Paul Cristian Sarbu
...by removing unused subfolders and corresponding redundant checks in the tests using it. Also fixes misues in tests of the GetSubtree family of methods.
2023-05-31FileRoot: Add ignore-special roots logicPaul Cristian Sarbu
2023-05-31Make test ["", "ALL"] really contain all testsKlaus Aehlig
... but keep the option to not run the large tests.
2023-05-31["test/shell", "script"] Support long-running testsKlaus Aehlig
2023-05-31Executor: honor timeout scalingKlaus Aehlig
2023-05-31Add basic test that the timeout is taken into account for action equalityKlaus Aehlig
2023-05-31ACTION constructor: accept "timeout scaling"Klaus Aehlig
Allow rules to set the timeout-scaling factor for their actions to indicate that some actions are expected to take longer than others, e.g., because they call a foreign build tool or are a very complex end-to-end test.
2023-05-31action data structure: support timeout-scaling factorKlaus Aehlig
2023-05-30tests: Support toolchain in remote ruleOliver Reiche
2023-05-30rules: Support for external toolchainsOliver Reiche
2023-05-30tests: Used installed just/just-mr in remote testsOliver Reiche
... as those binaries might need run-libs.
2023-05-30tests: Support run deps for tools-under-testOliver Reiche
2023-05-30tests: Use run_test expression in remote ruleOliver Reiche
2023-05-30rules: Move binary test_run to expressionOliver Reiche
2023-05-30rules: Use field_map_provider for default-ENVOliver Reiche
2023-05-30rules: Drop needless conditionalOliver Reiche
2023-05-30defaults: Separate toolchain from compile flagsOliver Reiche
2023-05-30just: Install just/just-mr with depsOliver Reiche
2023-05-30imports: Compose toolchain via install-with-depsOliver Reiche
... as they could contain run-libs.
2023-05-24Split off tests into a separate logical repositoryKlaus Aehlig
This allows better separation and, in particular, repositories needed only for tests do not have to be provided for building the tools. This also better documents which dependencies are only needed for testing.
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-23just-import-git: also recognize the workspace root as a layerKlaus T. Aehlig
In the definition of a repository, the workspace root (given by the key "repository") can contain either a description of that root (where to fetch it, whast to expect) or simply a reference to (the workspace root of) another repository. In the latter case, the referenced repository has to be imported as a layer, just as if had been specified as target_root, rule_root, or expression_root.
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-05-15Add pkg-config target for re2Klaus Aehlig
Justbuild does not directly depend on re2, hence the indirect dependency on re2 is taken care of by pkg-config. Nevertheless, it is useful to have such a file for packaging that takes most of the dependencies from the system, but uses some of the dependencies bundled; a particular such use case is taking the bundled versions of proto, grpc, and absl, as those might be packaged in an incompatible version.
2023-05-15Third-party descriptions: be flexible on PKG_CONFIG_PATHKlaus Aehlig
Using only our third-party descriptions, the build is independent of PKG_CONFIG_PATH. However, when combinging our third-party descriptions with dependencies taken from the system via pkg-config there is a dependency of PKG_CONFIG_PATH due to those indirect dependencies. Therefore, allow flexible PKG_CONFIG_PATH to support such a mixed bootstrapping.
2023-05-15memcheck: fix race in libgit2...Paul Cristian Sarbu
...caused by incorrectly setting and resetting the library internal state and the misuse of pthreads in libgit2. Normally, git_libgit2_init and git_libgit2_shutdown should span the life of a worker thread in order to be safely used. However, due to an incorrect implementation of libgit2's threadstate with pthreads, on unix systems there is a race condition. Until the use of pthread_key_t is corrected in libgit2, we need to apply a workaround by always ensuring that the main thread is the first thread reaching the GitContext constructor.
2023-05-15Install instructions: describe package building of just-mrKlaus Aehlig
... using the repository and build configuration written out by the bootstrap process.
2023-05-12external: silence additional warnings from dependencies...Paul Cristian Sarbu
...missed so far. These are not actionable from our side.
2023-05-12Clean up export structure of remaining just dependenciesSascha Roloff