summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-12Invocation server: cleanup html tagsSascha Roloff
2025-05-09Add basic introduction to tree overlaysKlaus Aehlig
2025-05-09Invocation server: print invocation contextSascha Roloff
2025-05-09Invocation server: use json.dumps to render remote-execution propertiesSascha Roloff
2025-05-09Invocation server: fix config calculationSascha Roloff
2025-05-09Invocation server: split invocation overview information into several linesSascha Roloff
2025-05-09Invocation server: format and spelling fixesSascha Roloff
2025-05-09invocation log: include seconds in directory nameKlaus Aehlig
The directory name is designed to allow an easy rough sorting by time. This can also be used to identify the latest build for a specific user. However, users often run several builds in a single minute; therefore, increase time-stamp precission to include seconds as well. While still lexicographic and chronological order will disagree, at least for a single user it will be correct most of the times.
2025-05-09Invocation server: support filtering by remote-execution propertyKlaus Aehlig
When looking at an invocation, it can be helpful to quickly get all other invocation that coincide with a specific remote-execution property (like the build image). Support this use case by adding appropriate filtering and links.
2025-05-08Invocation logging: add new field context variablesSascha Roloff
It allows to specify a list of environment variables, which are captured at invocation time and stored as key-value pairs in the metadata file. This allows to get some information about the invocation context such as username, merge-request ID or source branch (on a CI runner), or others.
2025-05-08man pages: fix typosSascha Roloff
2025-05-08Fix some typosPaul Cristian Sarbu
2025-05-08computed_roots: Fix missing return on fatal in evaluation async mapPaul Cristian Sarbu
2025-05-08rules: Allow all false values to disable DEBUGKlaus Aehlig
While activating DEBUG requires setting it to a non-empty map, providing information on whether and how debugg fission should be used, we should still allow any logically false value (rather than just null) to disable a debug build in order to make it easier for the user to explicitly disable debugging. Also adopt and fix the documentation strings.
2025-05-07tests: add a target to run precisely the unit testsKlaus Aehlig
While there, also make sure we run unit tests that honor TEST_COMPATIBLE_REMOTE in both configurations.
2025-05-07rules: Do not assume out_dirs existOliver Reiche
2025-05-07Invocation server: also show information related to the used remoteKlaus Aehlig
2025-05-07profile: include remote-execution propertiesKlaus Aehlig
Include in the profile also the effective remote-execution endpoint, properties, and dispatch list. Software projects are often tested in a variety of environments or hardware configurations; as, obviously, the performance might differ significantly (especially depending on the used hardware) a proper analysis therefore requires the possibility to distinguish the various backends. Adding the effective configuration adds this posibility.
2025-05-07Invocation server: fix access to configuration in overview listKlaus Aehlig
2025-05-07Invocation server: also mention the number of artifactsKlaus Aehlig
... in the summary, so that the user knows what to expect when looking into the details-environment.
2025-05-07Invocation server: include action countKlaus Aehlig
2025-05-06end-to-end tests: consider both just-mr implementationsKlaus Aehlig
So far, the configuration variable TEST_BOOTSTRAP_JUST_MR could be used to decide whether to run the end-to-end tests with the compiled version of just-mr or the python script, which is mainly used for bootstrapping only. To have a more simple way of running all tests in all relevant configurations, make this an internal variable and branch on the possible values, similarly as we already do for the possible values of TEST_COMPATIBLE_REMOTE.
2025-05-06["@", "just tests", "", "ALL"]: remove unused parameter TEST_BOOTSTRAP_JUST_MRKlaus Aehlig
As a configure target, it is supposed to describe the change in the configuration; setting a parameter to itself has no effect.
2025-05-06invocation server: actions are also meaningful for exit code 0Klaus Aehlig
With the introduction of new exit codes, the presentation of an invocation was changed to refrain from showing actions in abnormal case failure already during analysis phase. However ca8fd841736ca65fa4292887052c78243512962a did not include the case of a successful build into the cases of normal circumstances. Fix this.
2025-05-06Invocation server: present new exit codes and analysis errosKlaus Aehlig
2025-05-06Add end-to-end test verifying that analysis failure is reported in profileKlaus Aehlig
2025-05-06just: record analysis errors in profileKlaus Aehlig
2025-05-06Extend profile to support recording analysis errorsKlaus Aehlig
2025-05-06Extend just exit codes to distinguish different kinds of failuresKlaus Aehlig
2025-05-06just-mr: only set profiling-induced --dump-artifacts if supportedKlaus Aehlig
... by the requested subcommand. In particular, do not set it for pure analyse requests.
2025-05-05generic rule: fix conflict checkKlaus Aehlig
For a generic rule, it is an error if map union of various inputs (overlayed in correct order) does not form a proper stage. To implement this check properly, we first have to construct the map of all inputs and only then perform the staging check and not do the check with only the runfiles, as 5e104a526cf76fe75312d2fd288a3c88f506fb0a accidentally did. Fix this.
2025-05-05TreeOperationsUtils: add tree-overlay deduplication testSascha Roloff
This test ensures that the AsyncMap implementation of the tree-overlay computation works as expected and properly prevents duplicated work when it comes to the repeated computation of the same trees.
2025-05-05TreeOperationsUtils: apply AsyncMap to compute tree overlaySascha Roloff
2025-05-05TreeOperationsUtils: make WriteTree method directly return ObjectInfo ↵Sascha Roloff
instead of ArtifactDigest
2025-05-05TreeOperationsUtils: make free-standing implementation functions member ↵Sascha Roloff
functions of the class
2025-05-05TreeOperationsUtils: refactor digest population into proto messagesSascha Roloff
2025-05-05TreeOperationsUtils: add missing switch case in bazel directory generationSascha Roloff
2025-05-05TreeOperationsUtils: fix typo in commentSascha Roloff
2025-04-25Invocation server: also present the artifacts of an invocationKlaus Aehlig
... if available. This can be useful, when presenting builds that are mainly there to have artifacts available for manual use.
2025-04-25just: make --dump-artifacts act cummulativelyKlaus Aehlig
2025-04-25just-mr: support invocation-specifing artifact dumpingKlaus Aehlig
2025-04-25Invocation http server: for tree entries offer direct download linksKlaus Aehlig
When showing a tree, we have for each entry already a designated file name. Use this, to offer direct dowload links for blobs with the intended name.
2025-04-25Invocation http server: indicate incomplete dataKlaus Aehlig
With just-mr supporting a custom prefix to be shown at the beginning of a logged invocation, users might be pointed to the web server very early. Therefore, properly indicate if the invocation data is not yet complete.
2025-04-25just-mr: support custom message with invocation-directory nameKlaus Aehlig
Allow to specify a custom string that is extended by the basename of the logging directory, in case invocation logging is activated. This can be used, e.g., to point to the user to service doing something useful with the logged data (or simply presenting it in a nicer form).
2025-04-24profile: fix path rebasingKlaus Aehlig
During execution, paths are relative to the working directory of the action; however, in our representation, all paths are always relative to the action root. Commit d65d711f844224dcf9215c52be8f69fd2885adfc tried to change the reporing to our usual standard, however got the direction wrong; fix this.
2025-04-24Invocation server: support download of all blobsKlaus Aehlig
For many text files it is useful to read them directly in the browser. However, many files that are better analysed by machines (like large repository configurations) also come as plain-text files. Therefore, always offer to download a file currently being viewed. Use the URL scheme in such a way that the name to download the file as can be specified; in this way, we are prepared if we decide to also log the artifacts to be built and offer those to be downloaded.
2025-04-23Tutorial: mention the possibility to browse individual invocationsKlaus Aehlig
2025-04-23Add simple http server allowing to browse an invocation-log directoryKlaus Aehlig
Being able to browse through past invocations of the build tool can actually be useful and doing so in the browser is a way many users prefer. Therefore, add a small WSGI application (written in python, using werkzeug and jinja) serving a directory of invocation logs via http.
2025-04-23debug-fission doc: Update with small design changesPaul Cristian Sarbu
2025-04-23toolchain: Add fallback DWP fieldPaul Cristian Sarbu