Message
[00/15] Implement forge bidirectional sync Does it work or not? Robin Jarry (15): parsemail: wrap parse_mail() in a single transaction parsemail: fix SeriesReference race with concurrent delivery series: add respin tracking for patch series versions series: add metadata key-value store forge: add per-project configuration model forge: add backend abstraction layer forge: add utilities for mailing-list sync forge: add git mirror utilities forge: sync github pull requests to mailing list forge: sync github comments and reviews to mailing list forge: sync github check results to patchwork forge: sync patch series to github pull requests forge: forward mailing list comments to forge pull requests docs: add forge integration documentation deploy Makefile | 147 +++++++ docs/deployment/configuration.rst | 37 ++ docs/usage/forge.rst | 294 +++++++++++++ docs/usage/index.rst | 1 + nginx.conf | 62 +++ parsemail.sh | 14 + patchwork.service | 22 + patchwork/admin.py | 24 ++ patchwork/api/series.py | 20 +-patchwork/forge/__init__.py | 279 ++++++++++++ patchwork/forge/git.py | 287 +++++++++++++ patchwork/forge/github/__init__.py | 107 +++++ patchwork/forge/github/from_ml.py | 199 +++++++++ patchwork/forge/github/to_ml.py | 215 ++++++++++ patchwork/forge/github/webhook.py | 149 +++++++ patchwork/forge/urls.py | 16 + patchwork/forge/util.py | 289 +++++++++++++ patchwork/forge/views.py | 82 ++++ patchwork/management/commands/parsemail.py | 4 +-.../migrations/0049_series_respin_tracking.py | 33 ++ patchwork/migrations/0050_series_metadata.py | 41 ++ patchwork/migrations/0051_forgeconfig.py | 46 ++ patchwork/models.py | 107 +++++ patchwork/parser.py | 174 +++++++-patchwork/settings/base.py | 32 ++ patchwork/settings/production.py | 68 +++ patchwork/templates/patchwork/submission.html | 25 ++ patchwork/templatetags/utils.py | 9 + patchwork/tests/api/test_series.py | 2 +-patchwork/tests/forge/__init__.py | 0 patchwork/tests/forge/test_git.py | 278 ++++++++++++ patchwork/tests/forge/test_util.py | 406 ++++++++++++++++++ patchwork/tests/test_series.py | 39 ++ patchwork/urls.py | 9 + patchwork/views/cover.py | 3 + patchwork/views/patch.py | 2 + postfix/client_access | 2 + postfix/header_checks | 2 + postfix/main.cf | 53 +++ postfix/master.cf | 28 ++ postfix/recipient_bcc | 1 + postfix/transport | 2 + .../parsemail-race-fix-e5f6g7h8i9j0k1l2.yaml | 5 + ...arsemail-transaction-d4e5f6g7h8i9j0k1.yaml | 6 + ...ries-respin-tracking-c3d4e5f6g7h8i9j0.yaml | 16 + uwsgi.ini | 10 + 46 files changed, 3625 insertions(+), 22 deletions(-) create mode 100644 Makefile create mode 100644 docs/usage/forge.rst create mode 100644 nginx.conf create mode 100755 parsemail.sh create mode 100644 patchwork.service create mode 100644 patchwork/forge/__init__.py create mode 100644 patchwork/forge/git.py create mode 100644 patchwork/forge/github/__init__.py create mode 100644 patchwork/forge/github/from_ml.py create mode 100644 patchwork/forge/github/to_ml.py create mode 100644 patchwork/forge/github/webhook.py create mode 100644 patchwork/forge/urls.py create mode 100644 patchwork/forge/util.py create mode 100644 patchwork/forge/views.py create mode 100644 patchwork/migrations/0049_series_respin_tracking.py create mode 100644 patchwork/migrations/0050_series_metadata.py create mode 100644 patchwork/migrations/0051_forgeconfig.py create mode 100644 patchwork/settings/production.py create mode 100644 patchwork/tests/forge/__init__.py create mode 100644 patchwork/tests/forge/test_git.py create mode 100644 patchwork/tests/forge/test_util.py create mode 100644 postfix/client_access create mode 100644 postfix/header_checks create mode 100644 postfix/main.cf create mode 100644 postfix/master.cf create mode 100644 postfix/recipient_bcc create mode 100644 postfix/transport create mode 100644 releasenotes/notes/parsemail-race-fix-e5f6g7h8i9j0k1l2.yaml create mode 100644 releasenotes/notes/parsemail-transaction-d4e5f6g7h8i9j0k1.yaml create mode 100644 releasenotes/notes/series-respin-tracking-c3d4e5f6g7h8i9j0.yaml create mode 100644 uwsgi.ini