瀏覽代碼

Better checks on newsfragments (#4698)

* You need an entry in the debian changelog (and not a regular newsfragment)
  for debian packaging changes.
* Regular newsfragments must end in full stops.
tags/v0.99.2rc1
Richard van der Hoff 5 年之前
committed by GitHub
父節點
當前提交
e1666af9be
沒有發現已知的金鑰在資料庫的簽署中 GPG 金鑰 ID: 4AEE18F83AFDEB23
共有 4 個檔案被更改,包括 68 行新增12 行删除
  1. +1
    -5
      .travis.yml
  2. +30
    -7
      CONTRIBUTING.rst
  3. +1
    -0
      changelog.d/4698.misc
  4. +36
    -0
      scripts-dev/check-newsfragment

+ 1
- 5
.travis.yml 查看文件

@@ -78,11 +78,7 @@ matrix:
if: type = pull_request
name: "check-newsfragment"
python: 3.6
env: TOX_ENV=check-newsfragment
script:
- git remote set-branches --add origin develop
- git fetch origin develop
- tox -e $TOX_ENV
script: scripts-dev/check-newsfragment

install:
# this just logs the postgres version we will be testing against (if any)


+ 30
- 7
CONTRIBUTING.rst 查看文件

@@ -30,7 +30,7 @@ use github's pull request workflow to review the contribution, and either ask
you to make any refinements needed or merge it and make them ourselves. The
changes will then land on master when we next do a release.

We use `CircleCI <https://circleci.com/gh/matrix-org>`_ and `Travis CI
We use `CircleCI <https://circleci.com/gh/matrix-org>`_ and `Travis CI
<https://travis-ci.org/matrix-org/synapse>`_ for continuous integration. All
pull requests to synapse get automatically tested by Travis and CircleCI.
If your change breaks the build, this will be shown in GitHub, so please
@@ -74,16 +74,39 @@ entry. These are managed by Towncrier
To create a changelog entry, make a new file in the ``changelog.d``
file named in the format of ``PRnumber.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 Markdown
formatting. Adding credits to the changelog is encouraged, we value
your contributions and would like to have you shouted out in the
release notes!
deprecations), or ``misc`` (for internal-only changes).

The content of the file is your changelog entry, which can contain Markdown
formatting. The entry should end with a full stop ('.') for consistency.

Adding credits to the changelog is encouraged, we value your
contributions and would like to have you shouted out in the release notes!

For example, a fix in PR #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".
Matrix.".

Debian changelog
----------------

Changes which affect the debian packaging files (in ``debian``) are an
exception.

In this case, you will need to add an entry to the debian changelog for the
next release. For this, run the following command::

dch

This will make up a new version number (if there isn't already an unreleased
version in flight), and open an editor where you can add a new changelog entry.
(Our release process will ensure that the version number and maintainer name is
corrected for the release.)

If your change affects both the debian packaging *and* files outside the debian
directory, you will need both a regular newsfragment *and* an entry in the
debian changelog. (Though typically such changes should be submitted as two
separate pull requests.)

Attribution
~~~~~~~~~~~


+ 1
- 0
changelog.d/4698.misc 查看文件

@@ -0,0 +1 @@
Better checks on newsfragments

+ 36
- 0
scripts-dev/check-newsfragment 查看文件

@@ -0,0 +1,36 @@
#!/bin/bash
#
# A script which checks that an appropriate news file has been added on this
# branch.

set -e

# make sure that origin/develop is up to date
git fetch origin develop

UPSTREAM=origin/develop

# if there are changes in the debian directory, check that the debian changelog
# has been updated
if ! git diff --quiet $UPSTREAM... -- debian; then
if git diff --quiet $UPSTREAM... -- debian/changelog; then
echo "Updates to debian directory, but no update to the changelog." >&2
exit 1
fi
fi

# if there are changes *outside* the debian directory, check that the
# newsfragments have been updated.
if git diff --name-only $UPSTREAM... | grep -qv '^develop/'; then
tox -e check-newsfragment
fi

# check that any new newsfiles on this branch end with a full stop.
for f in git diff --name-only $UPSTREAM... -- changelog.d; do
lastchar=`tr -d '\n' < $f | tail -c 1`
if [ $lastchar != '.' ]; then
echo "Newsfragment $f does not end with a '.'" >&2
exit 1
fi
done


Loading…
取消
儲存