[PATCH v4 0/7] Add support for series dependencies
Adam Hassick
ahassick at iol.unh.edu
Thu Feb 6 02:16:53 AEDT 2025
Aaron,
Please take a look at the new version of this series and let me know
if this implementation, where the feature may be enabled per-project,
is satisfactory.
Regards,
Adam
On Thu, Jan 30, 2025 at 2:56 PM Adam Hassick <ahassick at iol.unh.edu> wrote:
>
> 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