| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Due to an upstream click_man issue:
https://github.com/click-contrib/click-man/issues/10
generating the man pages with our current setup.py only generates
a man page for bst-artifact-server, our first entry point.
I then had to remove this entry point from setup.py and regenerate to
obtain man pages for the commands in cli.py
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This commit marks 'bst checkout' as a 'hidden' command. If used,
the user will be prompted to use the new 'bst artifact checkout'
command.
All tests which used 'bst checkout' have been modified to use
the new artifact sub-command.
This partially solves #822.
|
|
|
|
|
|
| |
'artifact checkout' has slightly different behaviour from 'checkout',
that is, either '--directory' or '--tar' are now required options.
This is a step towards allowing checkout to take multiple args.
|
|
|
|
|
| |
This commit also ensures that if we try to use the 'old' commands,
BuildStream will fail and instruct the user to use the new command.
|
| |
|
| |
|
|\
| |
| |
| |
| | |
CONTRIBUTING.rst: Fix formatting of link to pip docs
See merge request BuildStream/buildstream!1094
|
|/
|
|
|
|
|
| |
The link explaining python's requirements files was formatted
incorrectly (missing underscore at the end). This resulted in the text
being rendered literally, as opposed to being converted into a
hyperlink.
|
|\
| |
| |
| |
| |
| |
| | |
Fix CentOS
Closes #833
See merge request BuildStream/buildstream!1085
|
| |
| |
| |
| | |
Centos is apparently different enough from fedora when running tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
test_track_invalid_submodule depends on being able to remove a submodule
by `git rm $submoduledir`, but old versions of git don't update .gitmodules
so BuildStream still thinks there's a submodule present.
For expediency the test is skipped rather than changed to manually remove
the entry from .gitmodules if git hasn't done it,
since in the common case git is new enough to do that itself.
test_git_describe expects --first-parent to find another tag,
but `bst track` will gracefully degrade if the option doesn't work
so a different history will be retained with old versions of git.
It's of marginal benefit to add additional cruft
to test for different output on old versions of git that won't persist forever.
|
| |
| |
| |
| |
| |
| | |
The test assumes that a directory with write permission removed isn't writable,
this isn't the case if the process running the tests has CAP_DAC_OVERRIDE
which is common when running as root.
|
|/
|
|
|
| |
Old versions of git lack --force and --tags,
but the same effect can be had by specifying refspecs.
|
|\
| |
| |
| |
| |
| |
| | |
Avoid "showing 0 lines" messages when we're asked to show no lines
Closes #779
See merge request BuildStream/buildstream!1031
|
| |
| |
| |
| |
| |
| |
| |
| | |
This happened when bst is invoked with --message-lines 0 or
--error-lines 0, and was arguably a little too verbose (the user
explicitly asked us not to show them any lines, after all).
Fixes #779
|
|/
|
|
|
| |
`remove_artifact_from_cache` used a hard-coded path to remove
artifacts, which wasn't sufficient for integration tests.
|
|\
| |
| |
| |
| | |
Derive import plugin from Element instead of BuildElement
See merge request BuildStream/buildstream!1089
|
|/
|
|
|
|
|
|
|
|
|
| |
The `import` element is not really a build element. The main purpose of
the `BuildElement` class is to allow users to run `build-commands`,
`install-commands` etc. But, `import` does not run such commands.
Moreover, we already override all the methods provided by
`BuildElement`. So it only makes it confusing to have it derived from
`BuildElement` class when it is not a build element.
So, derive it from the base `Element` class instead.
|
|\
| |
| |
| |
| | |
tests/testutils/python_repo.py: Use subprocess to run sdist
See merge request BuildStream/buildstream!1090
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
The current approach using setuptools.sandbox.run_setup() was
causing a spurious (but highly frequent) failure where setuptools
gets mixed up with it's manipulation of sys.modules and hits a
RuntimeError as a dictionary changes size while being iterated over.
For instance: https://gitlab.com/BuildStream/buildstream/-/jobs/147967307
Since this already happens in an isolated virtual environment created
by tox, we should not need additional sandboxing here from setuptools,
and launching this as a subprocess will be safer.
|
|\
| |
| |
| |
| | |
CASCache cleanup improvements
See merge request BuildStream/buildstream!1087
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The direct usage of tempfile.TemporaryDirectory() and
tempfile.NamedTemporaryFile() here causes leakage of any temporary
data when the process operating on temporary data is terminated
with SIGTERM.
Using the utilities ensures that trash is not left behind in
~/.cache/buildstream/artifacts/tmp when the user terminates
BuildStream with ^C.
|
| |
| |
| |
| |
| |
| | |
When used in a child process in BuildStream, this should be
used instead of tempfile.NamedTemporaryFile() directly, otherwise
we fail to cleanup the file on SIGTERM.
|
| |
| |
| |
| |
| |
| | |
Enhance the test which checks removal of the extract directories
with an additional check that the ref directories are cleaned up
when removing artifacts.
|
|/
|
|
|
| |
With out this, empty directories in the refs/heads directory just
grow unconditionally.
|
|\
| |
| |
| |
| | |
cli.py: add a hint about '--' to 'bst shell' help
See merge request BuildStream/buildstream!1078
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Fix bzr race conditions
Closes #868
See merge request BuildStream/buildstream!1083
|
| |
| |
| |
| |
| |
| |
| |
| | |
This causes multiple source instances to interact with the same
backing data store at the same time, increasing the likelyhood
of triggering issues around concurrent access.
This more reliably triggers issue #868
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With get_element_state(), you need to invoke BuildStream once
for every element state you want to observe in a pipeline.
The new get_element_states() reports a dictionary with
the element state hashed by element name and is better to use
if you have more than one element to observe the state of.
|
| |
| |
| |
| |
| | |
Follow up of last commit which uses exclusive locking to
protect bzr operations instead.
|
|/
|
|
| |
This patch by itself fixes #868
|
|\
| |
| |
| |
| | |
.gitlab-ci.yml: Add overnight tests logs to artifacts.
See merge request BuildStream/buildstream!1084
|
|/ |
|
|\
| |
| |
| |
| | |
Make the profiler output binaries (which can be used to visualise the data)
See merge request BuildStream/buildstream!1082
|
| |
| |
| |
| |
| |
| | |
Private class methods which write the logs and write the binaries
have been added to Profile. The binaries are able to be used
by various visualisation tools.
|
|/ |
|
|\
| |
| |
| |
| | |
sandbox/sandbox.py: Display failed commands in the detail string
See merge request BuildStream/buildstream!1081
|
|/
|
|
|
|
|
|
|
|
|
| |
We should only display commands in detail strings, not in the
message texts.
This also updates tests/integration/sandbox-bwrap.py to expect
the new message string which only contains the command exit status
and not the whole command itself, this does not alter the validity
of the text case which is checking that we can obtain the expected
return value.
|
|\
| |
| |
| |
| | |
General refactor in tests directory
See merge request BuildStream/buildstream!1062
|
| |
| |
| |
| | |
This is the directory for all things related to loading.
|
| | |
|
| |
| |
| |
| |
| |
| | |
The remaining test simply loads a project with one element
and asserts a value on it. This is already sufficiently tested
in tests/format/project.py.
|
| |
| |
| |
| | |
Remove some redundancy from the test lines.
|
| |
| |
| |
| |
| |
| | |
This is where other load time related plugin error handling is
checked, and is the last thing to remove in the `tests/pipeline`
directory.
|
| |
| |
| |
| |
| |
| |
| | |
The tests/format/project.py test already has some tests about how
we error gracefully for bad plugins and bad plugin configurations,
lets put it there rather than tests/pipeline/load.py which we
will remove.
|