Browse Source

Use towncrier to build the changelog (#3425)

Amber Brown 5 years ago
parent
commit
36cb570641

+ 9 - 1
.travis.yml

@@ -4,7 +4,12 @@ language: python
 # tell travis to cache ~/.cache/pip
 cache: pip
 
+before_script:
+  - git remote set-branches --add origin develop
+  - git fetch origin develop
+
 matrix:
+  fast_finish: true
   include:
   - python: 2.7
     env: TOX_ENV=packaging
@@ -14,10 +19,13 @@ matrix:
 
   - python: 2.7
     env: TOX_ENV=py27
-    
+
   - python: 3.6
     env: TOX_ENV=py36
 
+  - python: 3.6
+    env: TOX_ENV=check-newsfragment
+
 install:
   - pip install tox
 

+ 20 - 0
CONTRIBUTING.rst

@@ -48,6 +48,26 @@ Please ensure your changes match the cosmetic style of the existing project,
 and **never** mix cosmetic and functional changes in the same commit, as it
 makes it horribly hard to review otherwise.
 
+Changelog
+~~~~~~~~~
+
+All changes, even minor ones, need a corresponding changelog
+entry. These are managed by Towncrier
+(https://github.com/hawkowl/towncrier).
+
+To create a changelog entry, make a new file in the ``changelog.d``
+file named in the format of ``issuenumberOrPR.type``. The type can be
+one of ``feature``, ``bugfix``, ``removal`` (also used for
+deprecations), or ``misc`` (for internal-only changes). The content of
+the file is your changelog entry, which can contain RestructuredText
+formatting. A note of contributors is welcomed in changelogs for
+non-misc changes (the content of misc changes is not displayed).
+
+For example, a fix for a bug reported in #1234 would have its
+changelog entry in ``changelog.d/1234.bugfix``, and contain content
+like "The security levels of Florbs are now validated when
+recieved over federation. Contributed by Jane Matrix".
+
 Attribution
 ~~~~~~~~~~~
 

+ 3 - 0
MANIFEST.in

@@ -29,5 +29,8 @@ exclude Dockerfile
 exclude .dockerignore
 recursive-exclude jenkins *.sh
 
+include pyproject.toml
+recursive-include changelog.d *
+
 prune .github
 prune demo/etc

+ 1 - 0
changelog.d/3324.removal

@@ -0,0 +1 @@
+Remove was_forgotten_at

+ 1 - 0
changelog.d/3327.bugfix

@@ -0,0 +1 @@
+Strip access_token from outgoing requests 

+ 0 - 0
changelog.d/3332.misc


+ 1 - 0
changelog.d/3334.feature

@@ -0,0 +1 @@
+Cache factor override system for specific caches

+ 1 - 0
changelog.d/3340.doc

@@ -0,0 +1 @@
+``doc/postgres.rst``: fix display of the last command block. Thanks to @ArchangeGabriel!

+ 0 - 0
changelog.d/3341.misc


+ 1 - 0
changelog.d/3344.feature

@@ -0,0 +1 @@
+Add metrics to track appservice transactions

+ 0 - 0
changelog.d/3347.misc


+ 0 - 0
changelog.d/3348.misc


+ 1 - 0
changelog.d/3349.bugfix

@@ -0,0 +1 @@
+Redact AS tokens in logs

+ 1 - 0
changelog.d/3355.bugfix

@@ -0,0 +1 @@
+Fix federation backfill from SQLite servers

+ 0 - 0
changelog.d/3356.misc


+ 1 - 0
changelog.d/3363.bugfix

@@ -0,0 +1 @@
+Fix event-purge-by-ts admin API

+ 1 - 0
changelog.d/3371.bugfix

@@ -0,0 +1 @@
+Fix event filtering in get_missing_events handler

+ 1 - 0
changelog.d/3372.feature

@@ -0,0 +1 @@
+Try to log more helpful info when a sig verification fails

+ 5 - 0
pyproject.toml

@@ -0,0 +1,5 @@
+[tool.towncrier]
+    package = "synapse"
+    filename = "CHANGES.rst"
+    directory = "changelog.d"
+    issue_format = "`#{issue} <https://github.com/matrix-org/synapse/issues/{issue}>`_"

+ 8 - 0
tox.ini

@@ -102,3 +102,11 @@ basepython = python2.7
 deps =
     flake8
 commands = /bin/sh -c "flake8 synapse tests {env:PEP8SUFFIX:}"
+
+
+[testenv:check-newsfragment]
+skip_install = True
+deps = towncrier>=18.6.0rc1
+commands =
+   python -m towncrier.check --compare-with=origin/develop
+basepython = python3.6