[PATCH v4 0/7] Add support for series dependencies

Aaron Conole aconole at redhat.com
Sat Feb 8 02:13:29 AEDT 2025


Adam Hassick <ahassick at iol.unh.edu> writes:

> 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.

LGTM - Thanks for working on this, Adam!

> 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
>>
> _______________________________________________
> Patchwork mailing list
> Patchwork at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/patchwork



More information about the Patchwork mailing list