[PATCH v4 0/7] Add support for series dependencies
Adam Hassick
ahassick at iol.unh.edu
Fri Jan 31 06:56:35 AEDT 2025
This patch series adds support for series dependencies. A series
dependency may be declared by another series when that series alone will
not apply, compile, or otherwise function properly without the dependent
series.
Including the "Depends-on" tag in any patch commit message or in the cover
letter blurb will signal Patchwork to add the referenced series as a
dependency. The value for this tag may be a message ID of the dependent
series cover letter or any patch in the dependent series. Or,
alternatively, it may be the web URL of the dependent series or any patch
in that series.
This feature is disabled by default and can be enabled on a per-project
basis via the "parse_dependencies" feature flag. The feature flag is
exposed via the Patchwork REST API.
v2:
* Use message IDs instead of object IDs.
* Check for invalid dependencies before adding them.
v3:
* Fix a few nits in the parser.
* Update migrations.
v4:
* Add a feature flag to the Project object.
* Change parser to only parse dependencies when the feature flag is enabled.
Adam Hassick (7):
models: Add fields for series dependencies
api: Add fields to series detail view
parser: Parse "Depends-on" tags in emails
tests: Add tests for new functionality
docs: Add feature info and increment API version
docs: Add generated API schemas
release-notes: Add release note
docs/api/rest/index.rst | 42 +-
docs/api/rest/schemas/v1.3.rst | 4 +-
docs/api/rest/schemas/v1.4.rst | 5 +
docs/api/schemas/generate-schemas.py | 4 +-
docs/api/schemas/latest/patchwork.yaml | 21 +-
docs/api/schemas/patchwork.j2 | 23 +
docs/api/schemas/v1.4/patchwork.yaml | 3245 +++++++++++++++++
docs/usage/overview.rst | 13 +
patchwork/api/project.py | 2 +
patchwork/api/series.py | 26 +-
.../migrations/0048_series_dependencies.py | 32 +
patchwork/models.py | 30 +
patchwork/parser.py | 92 +-
patchwork/tests/api/test_project.py | 28 +
patchwork/tests/api/test_series.py | 33 +-
.../tests/series/dependency-base-patch.mbox | 102 +
.../series/dependency-multi-2.mbox.template | 110 +
.../series/dependency-multi.mbox.template | 109 +
.../series/dependency-one-cover.mbox.template | 128 +
.../dependency-one-first-patch.mbox.template | 125 +
patchwork/tests/test_parser.py | 52 +
patchwork/tests/test_series.py | 302 ++
patchwork/urls.py | 10 +-
...-series-dependencies-6696458586e795c7.yaml | 22 +
24 files changed, 4528 insertions(+), 32 deletions(-)
create mode 100644 docs/api/rest/schemas/v1.4.rst
create mode 100644 docs/api/schemas/v1.4/patchwork.yaml
create mode 100644 patchwork/migrations/0048_series_dependencies.py
create mode 100644 patchwork/tests/series/dependency-base-patch.mbox
create mode 100644 patchwork/tests/series/dependency-multi-2.mbox.template
create mode 100644 patchwork/tests/series/dependency-multi.mbox.template
create mode 100644 patchwork/tests/series/dependency-one-cover.mbox.template
create mode 100644 patchwork/tests/series/dependency-one-first-patch.mbox.template
create mode 100644 releasenotes/notes/add-series-dependencies-6696458586e795c7.yaml
--
2.48.1
More information about the Patchwork
mailing list