summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
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-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-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-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-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-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-23tutorial: Update DEBUG config variable to mapPaul Cristian Sarbu
In preparation for the rule changes, to avoid introducing false positives during future bisections.
2025-04-16concepts, profiling: clarify scope of --profileKlaus Aehlig
2025-04-16Add basic tutorial section on invocation loggingKlaus Aehlig
... under the advanced chapter of our tutorial.
2025-04-14clean up markdown in tutorial and conceptsKlaus Aehlig
... and ensure that pandoc processes them correctly. In particular, add an empty line around itemize environments.
2025-04-09Document tree overlays as implemented conceptKlaus Aehlig
2025-04-07Documentation of built-in rules: document {disjoint_,}tree_overlayKlaus Aehlig
2025-04-07Rule documentation: describe `TREE_OVERLAY` and `DISJOINT_TREE_OVERLAY`Klaus Aehlig
2025-04-07tree-overlay design: minor updatesKlaus Aehlig
- For the rule functions TREE_OVERLAY and DISJOINT_TREE_OVERLAY call the argument "$1", to align with the argument name for BLOB and TREE. - For the built-in functions `"tree_overlay"` and `"disjoint_tree_overlay"`, align this the built-in function `"tree"` and allow staging of the resulting tree.
2025-03-24doc expressions: Document 'zip_with' and 'zip_map'Paul Cristian Sarbu
2025-03-20Document profiling as tool conceptKlaus Aehlig
... and remove it from the future design, as it is already implemented.
2025-03-19doc: Improve debug fission designPaul Cristian Sarbu
Clarify the handling and extent of proposed debug-related configuration fields in the CC defaults.
2025-03-18doc: Add design for debug fission integrationPaul Cristian Sarbu
2025-03-17Extend tutorial to also include other uses of build delegationKlaus Aehlig
2025-03-10profiling design: drop asynchronous writingKlaus Aehlig
... as it turns out that the synchronous writing is fast enough and hence we can avoid all the problems of background processes.
2025-03-06tutorial: Add chapter on just-lockPaul Cristian Sarbu
Also update the README.
2025-03-06tutorial: Consistently use the fmtlib release tagPaul Cristian Sarbu
...instead of using the master branch.
2025-02-26profiling design: update logging optionsKlaus Aehlig
Reduce interference of invocation logging with regular logging operations; in particular, restrict just-mr passing the --async-profile option only to build commands and thus avoiding race conditions with calls to `analyse` that rely on having a graph available immediate after invocation.
2025-02-24just-lock design: Clarify env handling for 'generic' sourcePaul Cristian Sarbu
2025-02-20just-lock design: Clarify wording of --clone optionPaul Cristian Sarbu
- specify that what is cloned is the workspace root of the target repository - disambiguate what is referred to as the 'start' and 'target' repository
2025-02-20just-lock: Add option to set a just binary to usePaul Cristian Sarbu
2025-02-20just-lock: Support special pragma for plain importsPaul Cristian Sarbu
Marking a source repository 'as plain' means that the whole source repository tree will get imported as a repository type corresponding to the source type. In this case, additional pragmas than those supported by the inndividual imports might need to be set. Solve this by supporting the just-mr-style 'pragma' field also in the source description, for all sources also accepting the 'as plain' field. Currently support only the 'special' pragma. Document change and add test for plain imports that checks this feature.
2025-02-20just-lock: Improve handling of pragmas in 'repos' import descriptionPaul Cristian Sarbu
In particular, any transitive 'file'-type repository will inherit any given '{to_git: true}' pragma in the import description objects. Note that this technically can only happen for transitive 'file' repositories imported from a 'file' source, so in all other cases such a pragma would not have any effect. Document change and extend the import from 'file' source test to check this feature.
2025-02-18tutorial: update tests sectionKlaus Aehlig
Add the artifacts and outputs of the updated rules, as well as some explanatory remarks.
2025-02-18tutorial: update rebuild sectionKlaus Aehlig
- As we build a binary hello, make it an extension of the hello we had before. - Make the passing of time more explicit. - Add actual output of rerunning the tutorial.
2025-02-17tutorial: update hello-world sectionKlaus Aehlig
As our defaults rule supports flags common for C and C++ use them, especially as our example only uses common flags.
2025-02-17tutorial: update reference to rules-ccKlaus Aehlig
2025-02-14tutorial, getting started: add the basics of analyseKlaus Aehlig
2025-02-14tutorial, getting started: include more idiomatic use of optionsKlaus Aehlig
... in particular in the case of targets producing precisely one artifact; this better emphasizes the idea that we talk to the tool in terms of targets. While there, also add some clarifying comments.
2025-02-07Add design document on profiling buildsKlaus Aehlig
2025-01-30Add basic introduction on how to set up computed rootsKlaus Aehlig
2025-01-29just-lock config: Make field names consistent with just-mrPaul Cristian Sarbu
2025-01-24"generic" rule: verify staging conflicts on inputsKlaus Aehlig
The "generic" rules deliberately resolves conflicts on identical paths in a latest-wins fashion (seeing all artifacts as later than all runfiles) to allow an easy way to define actions. However, the inputs stage obtained by this resolution can still contain conflicts and those are an error. Properly detect those. Also clarify in the documentation, that only conflicts on identical paths are resolved in the described priority, not semantic overlap.
2025-01-23Document computed roots as implemented conceptKlaus Aehlig
... rather than as future design. While there, also add target-level caching as a service to the list of documentation pages.
2025-01-10just-lock design: Add fields 'type','mirrors','subdir' to 'archive' sourcePaul Cristian Sarbu
The 'type' field is optional and informs both the way to unpack the archive and which type imported file repositories should be rewritten as in the output configuration. Mirrors the 'just-mr' types, with options for tarballs and zip-like archives, defaulting to tarballs if missing. The 'mirrors' field is treated the same as for 'git' sources. The 'subdir' field is optional and accounts for the fact that the actual root of the source repository might be a subpath in the unpacked archive, as opposed to Git repositories where it is reasonable to expect that the sources root is the top-level directory.