| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
* .pylintrc: Disable new `raise-missing-from` check. We might want to
enable that later, but it fails in many places. Let's not merge both
changes here.
* pluginoriginpip.py: Catch the newer thrown exception from
pkg_resources. The previous one still exists, so we should be good
keeping the same compatibility as before
|
|
|
|
|
|
|
|
|
|
|
|
| |
ruamel.yaml <= 0.16.6 suffers from a bug where ruamel's yaml dumper
crashes when used on a sequence that has comments before it. In
BuildStream, this manifests in form of issues like #1265.
See upstream issue at https://sourceforge.net/p/ruamel-yaml/tickets/335.
Also, add a regression test for it.
Fixes #1265.
|
|
|
|
|
|
| |
This now pulls in pytest > 6.0.1, which has a few breaking changes
Fix #1377
|
|
|
|
| |
Also fix linting errors coming with new version of pylint
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Python3.8, when `ruamel.yaml.clib` is not installed, BuildStream ends
up throwing a stack trace on any and all operations. This manifests
itself in the following form:
$ bst show hello.bst
Error loading user configuration:
/venv/lib/python3.8/site-packages/buildstream/data/userconfig.yaml:
Severely malformed YAML:
'NoneType' object is not callable
This is also the root cause of downstream issues like
https://gitlab.com/BuildStream/bst-plugins-container/issues/19.
The fix is simple - to add a hard dependency on `ruamel.yaml.clib`, since
we explicitly import `yaml.Cparser` -
https://gitlab.com/BuildStream/buildstream/blob/master/src/buildstream/_yaml.pyx#L298
- that doesn't come from the main `ruamel.yaml` package.
This works fine on Python < 3.8 because `ruamel.yaml` itself has a hard
dependency on `ruamel.yaml.clib` for those versions. The Python 3.8 CI
pipeline also works because our requirements were frozen using a Python
3.7 interpreter and hence already have this requirement.
|
| |
|
|
|
|
|
|
|
|
| |
This updates all dependencies on the project, which is mainly needed
by python3.8 but can be done independentely.
This also disables multiple false positive lint errors and disable a
new check that we don't need.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All the formatting-related warnings from `pycodestyle` are covered by
Black, and almost all of the remaining ones are covered by `pylint`.
Based on that, remove `pycodestyle` so that we don't have to maintain
another set of configuration.
More details on warnings/errors covered by `pycodestyle` below.
---
Here's the big list of pycodestyle error/warning codes:
https://pycodestyle.readthedocs.io/en/latest/intro.html#error-codes. They are
broken down into following categories:
1. Indentation
2. Whitespace
3. Blank line
4. Import
5. Line Length
6. Runtime
7. Deprecation warning
8. Statement
Out of the above, 1-5 are purely formatting related so we don't needd to care
about them. 6 is runtime issues like syntax error that are hard to miss (even
mypy will complain about these). 7 is about deprecation warnings. Half of them
don't apply to us since we only support Python 3.5+ and the other half is
covered by `pylint`.
That leaves us with the "E7*" codes, that pycodestyle groups under "Statement"
heading. After verifying each of them, the only ones that is really not covered
by either Black or Pylint is the following:
* E731 do not assign a lambda expression, use a def
This sole check does not seem worth keeping another tool.
|
|
|
|
|
|
|
|
|
| |
When running the testsuite, we see a DeprecationWarning for
one of our dependencies, pluginbase and a UserWarning for
/usr/lib64/python3.x/distutils/dist.py:274.
This patch updates all Python dependencies, which as well as
updating things, stops these warnings.
|
|
|
|
|
| |
I see aborts and hangs related to gRPC locks with grpcio 1.17.1.
Updating grpcio to 1.23.0 fixes these issues.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cython requires a plugin to allow coverage of cython files, which
was updated in coveragerc. It also means we need to build the
dependencies and install cython for coverage.
Cython requires access to both source and compiled files when
running coverage. We therefore need to install project in develop
mode.
Updated documentation to explain how to run tests without tox but
with coverage
|
|
|
|
|
| |
Since !1341 got merged, we do not depend on `PyGObject`. The only thing
that needed it was OSTree so this can be safely removed now.
|
|
|
|
| |
Chandan, you silly pony.
|
|
|
|
|
|
|
| |
We always want to update all the requirements files together such that
the versions of the common dependencies do not drift between them. Do so
by adding a dummy phony target `FORCE` and depend on it from all the
`.txt` targets.
|
|
|
|
| |
Since coverage is optional, lets make it really optional.
|
|
|
|
|
|
|
|
|
| |
Having `pkg-resources` in requirements files is never the right thing as
it is not really a package that one can install. This is basically an
artifact of Debian-based systems providing incorrect metadata to pip.
See [this pip issue](https://github.com/pypa/pip/issues/4022) and
[this Ubuntu issue](https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463)
for more background.
|
|
|
|
|
|
|
|
| |
This affects the cache key version (updated to 7) and introduces
a dependency on `ujson` which is BSD licenced as of the version
locked in `requirements.txt`
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|
|
|
|
|
|
|
| |
The licence for roaringbitmap was not compatible. pyroaring is
a similar project which is MIT licensed and is slightly better on
memory too.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|
|
|
|
|
|
| |
In order to support use of roaring bitmaps in the loader, we need to
depend on it here.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|
|
|
| |
This is needed since 629a6e524, and was lost in the conversion to requirements.in
|
|
|
|
| |
This is needed since 0f2bc3754
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bump the version of pytest-cov, so that we pick up the fix for
the '--no-cov' option breaking in pytest 4.0:
https://github.com/pytest-dev/pytest-cov/pull/230
This was the error you would get prior to this version:
_pytest.warning_types.RemovedInPytest4Warning: config.warn has been
deprecated, use warnings.warn instead
Although it says 'deprecated', it did result in
termination with stack trace.
|
|
|
|
|
|
|
|
| |
Split the "The MANIFEST.in and setup.py" section in two:
"Managing data files" and "Updating BuildStream's Python dependencies".
Briefly explain the layout of `requirements` directory and add
instructions to use the Makefile added in the last commit.
|
| |
|
|
This seems like a better name for the directory, as it more closely
describes the purpose of its contents.
|