| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
We need to make sure that we read the new proto after a fresh build. And
there is no need to keep the proto around for an incomplete artifact.
This fixes `FileNotFoundError` of CAS blob on push after rebuild.
|
|
|
|
| |
This is required when buildbox-casd is running as separate user.
|
| |
|
|
|
|
|
|
|
|
|
| |
Artifact push and pull operations currently fail if logs are missing.
We don't currently have a config option to control how long artifact
logs should be kept in the cache. Until this changes, we should be
conservative and consider logs to be an essential part of artifacts,
keeping them from getting expired before the rest of the artifact.
|
|
|
|
| |
Like `contains_file()` but checks multiple files in a single request.
|
|
|
|
|
| |
This is identical to `test_pull_missing_blob` except that it uses
separate servers for artifact proto index and CAS.
|
|
|
|
| |
This fixes handling of missing blobs in `ArtifactCache.pull()`.
|
| |
|
|
|
|
|
| |
Do not print message "Pulled artifact" when pulling the artifact proto
without data. This matches the log messages in `SourceCache`.
|
|\
| |
| |
| |
| | |
tests/sources/tar.py: Fix flaky test_out_of_basedir_hardlinks
See merge request BuildStream/buildstream!1870
|
| |
| |
| |
| |
| | |
Increase sleep duration in test_casd_redirects_stderr_to_file_and_rotate
from 0.05s to 0.5s to reduce risk of test failure.
|
|/
|
|
|
|
| |
Don't recursively add `contents` to the tar file as the order is not
guaranteed. We need to add `elsewhere` before `to_extract` as the latter
references the former in `linkname`.
|
|\
| |
| |
| |
| | |
User guide enhancements
See merge request BuildStream/buildstream!1864
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This refreshes the stored sessions and adds the new ones generated
by recent additions to the user guide.
The stored sessions exist to allow contributors to build the
docs without having to build the sessions, which requires an
internet connection and takes longer to build.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
elements
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Renamed the "Advanced topics" section to "Combining projects", and splitting
up the junctions section into two separate documents, one which describes
the simplest junction example and another which explains how to use
workspaces in conjunction with junctions.
This commit also makes some minor changes the examples, correcting
some grammatical errors, improving links and formatting, also rewording
a `note::` in order to clarify that it would be unusual to junction
a project that is in a subdirectory.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Calling this "Developing using BuildStream" is just redundant,
seeing that this is a part of a BuildStream user guide already.
Also, rephrased the introduction text (which appears on a page
which is rarely frequented anyway).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This section of the user manual describes the basics of creating
your first BuildStream project, while we've discussed this in
terms of a "Getting started" guide while developing it, we ended
up naming this a "Tutorial" because of it's walkthrough nature.
Due to it's name as a Tutorial, developers (our target audience)
have a tendency to avoid it and look for more terse and advanced
material, while this material could be more suitable for getting
started.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Clarification of (@) include documentation
The "important" annotation here was very confusing to read, rewrote
this section to clarify that files included across a junction cannot
be used to inform the declaration of a junction, as this can present
a circular dependency.
Clarification around conditionals and includes
Clarify that conditional statements are always resolved in the context
of the project where the conditional statement was declared.
|
|/
|
|
| |
Fix an error in documentation build.
|
|\
| |
| |
| |
| | |
element.py: Fix strong cache key calculation in non-strict mode
See merge request BuildStream/buildstream!1865
|
| |
| |
| |
| |
| | |
Test that a clean build in non-strict mode produces an artifact matching
the strict cache key.
|
| |
| |
| |
| |
| | |
Include the project name and element name of dependencies in all cache
key variants as the dependency names are stored in the artifact proto.
|
|/
|
|
|
| |
The algorithm for calculating the strong cache key should be identical
in strict and non-strict mode.
|
|\
| |
| |
| |
| | |
Process options in includes files with the options of their junction
See merge request BuildStream/buildstream!1851
|
|/
|
|
|
|
|
|
|
| |
Unfortunately the options from main project cannot always be processed
in the include processing since project configuration might load
option declarations from a separate file. For that reason the result
of `Include.process` should still be passed through the option
processor. But all options files included from junctioned are already
evaluated.
|
|\
| |
| |
| |
| | |
Improve sandbox configuration handling
See merge request BuildStream/buildstream!1845
|
| |
| |
| |
| |
| |
| | |
This allows builds where the host OS or architecture doesn't match the
build OS or architecture, if the buildbox-run implementation supports
it. E.g., this allows x86-32 builds on x86-64 systems.
|
| |
| |
| |
| |
| |
| | |
Class data is not pickled and thus, class variables set by
`check_available()` are not set when `check_sandbox_config()` is called
by a job subprocess.
|
| |
| |
| |
| |
| | |
This allows `bst show` and other commands that don't require a sandbox
to work with elements that are not supported by the current sandbox.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allowing builds without affecting the cache key but disallowing push,
when the sandbox configuration is not fully compatible, results in an
inconsistent user experience and may lead to unexpected build issues.
Especially as push is allowed or disallowed based on the sandbox
available at the time of push, not at the time of build.
The previous commit making build-uid and build-gid configuration
optional allows each project to decide whether the sandbox is required
to support UID/GID configuration or not.
|
| |
| |
| |
| |
| | |
This allows use of sandbox implementations that don't support
configuring sandbox UID/GID such as buildbox-run-userchroot.
|
|/ |
|
|\
| |
| |
| |
| | |
doc/source/main_glossary.rst: Fix docs build errors
See merge request BuildStream/buildstream!1863
|
|/
|
|
|
| |
Some of the referenced terms within the glossary were not
using the capitalization for which the term was declared.
|
|\
| |
| |
| |
| | |
Fix SIGTERM handling in job processes
See merge request BuildStream/buildstream!1861
|
| |
| |
| |
| |
| |
| |
| | |
The scheduler timeout for `SIGTERM` of job processes is 20s. The timeout
in the sandbox backend should be shorter to allow graceful termination
of the job process even when `buildbox-run` fails to terminate
gracefully.
|
| |
| |
| |
| |
| |
| | |
`Sandbox` subclasses use `_signals.terminator()` to gracefully terminate
the running command and cleanup the sandbox. Setting a `SIGTERM` handler
in `job.py` breaks this.
|
|/
|
|
| |
Use exit code from the `SystemExit` exception raised by `os.exit()`.
|
|\
| |
| |
| |
| |
| |
| | |
Revert ".gitlab-ci.yml: Allow WSL test to fail"
Closes #1277
See merge request BuildStream/buildstream!1860
|
|/
|
|
| |
This reverts commit edcd52f8f0d9e062bb9a4d089799b47625c37ab6.
|
|\
| |
| |
| |
| |
| |
| | |
Fix expiry of public data of artifact
Closes #1264
See merge request BuildStream/buildstream!1837
|
| |
| |
| |
| | |
this lets buildbox-casd know it is needed and not delete it when pruning
|