mirror of
https://mau.dev/maunium/synapse.git
synced 2024-10-01 01:36:05 -04:00
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.
This commit is contained in:
parent
fcd6f01dc7
commit
e1666af9be
@ -78,11 +78,7 @@ matrix:
|
|||||||
if: type = pull_request
|
if: type = pull_request
|
||||||
name: "check-newsfragment"
|
name: "check-newsfragment"
|
||||||
python: 3.6
|
python: 3.6
|
||||||
env: TOX_ENV=check-newsfragment
|
script: scripts-dev/check-newsfragment
|
||||||
script:
|
|
||||||
- git remote set-branches --add origin develop
|
|
||||||
- git fetch origin develop
|
|
||||||
- tox -e $TOX_ENV
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
# this just logs the postgres version we will be testing against (if any)
|
# this just logs the postgres version we will be testing against (if any)
|
||||||
|
@ -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
|
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.
|
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
|
<https://travis-ci.org/matrix-org/synapse>`_ for continuous integration. All
|
||||||
pull requests to synapse get automatically tested by Travis and CircleCI.
|
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
|
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``
|
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
|
file named in the format of ``PRnumber.type``. The type can be
|
||||||
one of ``feature``, ``bugfix``, ``removal`` (also used for
|
one of ``feature``, ``bugfix``, ``removal`` (also used for
|
||||||
deprecations), or ``misc`` (for internal-only changes). The content of
|
deprecations), or ``misc`` (for internal-only changes).
|
||||||
the file is your changelog entry, which can contain Markdown
|
|
||||||
formatting. Adding credits to the changelog is encouraged, we value
|
The content of the file is your changelog entry, which can contain Markdown
|
||||||
your contributions and would like to have you shouted out in the
|
formatting. The entry should end with a full stop ('.') for consistency.
|
||||||
release notes!
|
|
||||||
|
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
|
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
|
``changelog.d/1234.bugfix``, and contain content like "The security levels of
|
||||||
Florbs are now validated when recieved over federation. Contributed by Jane
|
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
|
Attribution
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
1
changelog.d/4698.misc
Normal file
1
changelog.d/4698.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Better checks on newsfragments
|
36
scripts-dev/check-newsfragment
Executable file
36
scripts-dev/check-newsfragment
Executable file
@ -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…
Reference in New Issue
Block a user