| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
| |
Adds section to readme detailing the WIP MR closure policy.
|
|
|
|
|
| |
This is a handy way for developers to make use of the venvs we're
constructing for our test suite to run in.
|
|
|
|
| |
So that other people can also make releases.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the instructions for pyflame+flamegraph with simpler ones for
snakeviz. For our general use-case this seems to be easier and better.
Usage of this tool was demonstrated at the 2019 BuildStream Gathering in
January by Daniel Silverstone, when presenting the aggregate results of
profiling on many target environments.
Here is the relevant mailing list thread:
"Profiling before the gathering"
https://mail.gnome.org/archives/buildstream-list/2019-January/msg00057.html
|
|
|
|
|
|
| |
Simplify our docs, by requesting users to run `tox -e man` to update man
pages, instead of manually installing `click-man` and running the
command manually.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
To help new folks get to grips with pytest, add some tips on other
frequently used features.
|
| |
|
|
|
|
|
| |
Also point out that it is possible to run test environments in
parallel using the `detox` tool.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
When we update our dependencies, developers will eventually need to
recreate their `tox` environments to get correct results. This happens
because `tox` isn't particularly good at recognizing changes in the
requirements files.
|
|
|
|
|
|
|
|
|
| |
Currently the CI and the docs both have to duplicate the same inforation
about how to gather dependencies etc, and have to use hacky ways to run
them.
Add a new `docs` environment to our tox setup so that building docs is
as simple as running `tox -e docs`.
|
|
|
|
|
|
|
|
|
|
|
| |
Since we don't allow use of site packages by default in our `tox`
configuration, people will need to install non-python build dependencies
of some of our dependencies that do not provide pre-built wheels. We
have two such packages at the moment:
* psuitl: requires python C headers, compiler
* pygobject: requires python C headers, pkg-config, compiler, cairo
headers, and gobject libraries
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update the section on adding tests, to fulfill these broad points:
- Mandate end-to-end testing, with rationale.
- Mention internal APIs as endpoints for testing.
- Warn against pitfalls of unit-testing.
It's more text than I would have liked, perhaps in later work we'll be
able to say it with less.
This change integrates feedback from the mailing list
'Guidance on Unit Tests' thread:
https://mail.gnome.org/archives/buildstream-list/2018-November/msg00045.html
|
|
|
|
|
| |
Decrease uncertainty around whether unit tests are welcome in the
project or not.
|
|
|
|
|
|
|
|
|
|
|
| |
Explain why it's useful to mention the decisions made for a change and
provide links for background, e.g. issue numbers.
My general experience of git histories is that folks don't do enough
explaining, so it's great we have a contributing section for it.
I've found it's easier for folks to stick to rules when they know the
practical reasons for them, so provide some.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I was recently surprised that we don't prefer addressing review comments
in 'fixup!' commits.
Coming from GitHub, I've found that fixup commits make it easier for
reviewers to see what has changed since their last review. The idea is
to use '--autosquash' before landing to clean up the history again.
It's a pleasant surprise that it's easy to keep track of what changed in
merge-requests between pushes, so we can always keep the history clean.
Document this, so folks like me can see the light sooner.
|
|
|
|
|
|
|
|
| |
As someone coming from GitHub to GitLab, I was pleasantly surprised by
the 'filter by WIP status' option.
To make sure we get the most out of it, add a guideline to keep the
filter clean, to reduce reviewer burden.
|
| |
|
| |
|
|
|
|
| |
Ooops, that was done far too quickly.
|
|
|
|
|
|
|
| |
variables
Python does not natively support this, but sphinx does parse them and includes
these in the generated documentation.
|
| |
|
|
|
|
| |
It seems easier to read when separated into two sentences.
|
| |
|
|
|
|
| |
No tabs, no lines of only horizontal whitespace.
|
| |
|
|
|
|
|
|
| |
We have a long line limit in order to handle the exceptions without making
code unreadable as a result, this long line length limit is not an invitation
to fill up the limit as much as possible.
|
|
|
|
| |
from __init__.py
|
|
|
|
|
|
| |
This example is very outdated and comes from pre 1.0 when the Context
object was going to be public API. Just corrected the example made about
imports to import the `Context` object from `._context` instead of `.context`.
|
| |
|
|
|
|
|
| |
And modified some titles so that the titles in CONTRIBUTING.rst actually
follow the documentation guidelines for naming of section titles.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is almost a complete rewrite of the CONTRIBUTING guide.
* The patch submission guidelines have become less ambiguous and more strict
* Some general restructuring and reordering of the file took place
* The codeing guidelines have changed completely.
o There is much less room for ambiguity here now
o More emphasis on consistency in the codebase
o Added some more abstract points which should be considered
when writing and reviewing patches
* The policy on public/private symbols has been greatly clarified
* Added new section about adding new core plugins and what needs
to be done as a consequence of that
|
| |
|
|
|