Merge pull request #2431 from RonnyPfannschmidt/towncrier
initial addition of towncrier
This commit is contained in:
		
						commit
						ee0844dbd8
					
				|  | @ -2,13 +2,14 @@ Thanks for submitting a PR, your contribution is really appreciated! | ||||||
| 
 | 
 | ||||||
| Here's a quick checklist that should be present in PRs: | Here's a quick checklist that should be present in PRs: | ||||||
| 
 | 
 | ||||||
| - [ ] Target: for bug or doc fixes, target `master`; for new features, target `features`; | - [ ] Add a new news fragment into the changelog folder | ||||||
|  |   * name it `$issue_id.$type` for example (588.bug) | ||||||
|  |   * if you don't have an issue_id change it to the pr id after creating the pr | ||||||
|  |   * ensure type is one of `removal`, `feature`, `bugfix`, `vendor`, `doc` or `trivial` | ||||||
|  |   * Make sure to use full sentences with correct case and punctuation, for example: "Fix issue with non-ascii contents in doctest text files." | ||||||
|  | - [ ] Target: for `bugfix`, `vendor`, `doc` or `trivial` fixes, target `master`; for removals or features target `features`; | ||||||
|  | - [ ] Make sure to include reasonable tests for your change if necessary | ||||||
| 
 | 
 | ||||||
| Unless your change is trivial documentation fix (e.g.,  a typo or reword of a small section) please: | Unless your change is a trivial or a documentation fix (e.g.,  a typo or reword of a small section) please: | ||||||
| 
 | 
 | ||||||
| - [ ] Make sure to include one or more tests for your change; |  | ||||||
| - [ ] Add yourself to `AUTHORS`; | - [ ] Add yourself to `AUTHORS`; | ||||||
| - [ ] Add a new entry to `CHANGELOG.rst` |  | ||||||
|   * Choose any open position to avoid merge conflicts with other PRs. |  | ||||||
|   * Add a link to the issue you are fixing (if any) using RST syntax. |  | ||||||
|   * The pytest team likes to have people to acknowledged in the `CHANGELOG`, so please add a thank note to yourself ("Thanks @user for the PR") and a link to your GitHub profile. It may sound weird thanking yourself, but otherwise a maintainer would have to do it manually before or after merging instead of just using GitHub's merge button. This makes it easier on the maintainers to merge PRs.  |  | ||||||
|  |  | ||||||
|  | @ -1,9 +1,13 @@ | ||||||
| 3.1.1 (unreleased) | ..  | ||||||
| ================== |     You should *NOT* be adding new change log entries to this file, this | ||||||
|  |     file is managed by towncrier. You *may* edit previous change logs to | ||||||
|  |     fix problems like typo corrections or such. | ||||||
|  |     To add a new change log entry, please see | ||||||
|  |     https://pip.pypa.io/en/latest/development/#adding-a-news-entry | ||||||
|  |     we named the news folder changelog | ||||||
| 
 | 
 | ||||||
| * Fix encoding errors for unicode warnings in Python 2. (towncrier: 2436.bugfix) |  | ||||||
| 
 | 
 | ||||||
| * Fix issue with non-ascii contents in doctest text files. (towncrier: 2434.bugfix) | .. towncrier release notes start | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 3.1.0 (2017-05-22) | 3.1.0 (2017-05-22) | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| include CHANGELOG.rst | include CHANGELOG.rst | ||||||
| include LICENSE | include LICENSE | ||||||
| include AUTHORS | include AUTHORS | ||||||
|  | include pyproject.toml | ||||||
| 
 | 
 | ||||||
| include README.rst | include README.rst | ||||||
| include CONTRIBUTING.rst | include CONTRIBUTING.rst | ||||||
|  | @ -9,6 +10,7 @@ include HOWTORELEASE.rst | ||||||
| include tox.ini | include tox.ini | ||||||
| include setup.py | include setup.py | ||||||
| 
 | 
 | ||||||
|  | recursive-include changelog * | ||||||
| recursive-include scripts *.py | recursive-include scripts *.py | ||||||
| recursive-include scripts *.bat | recursive-include scripts *.bat | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | initial addition of towncrier | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | Fix issue with non-ascii contents in doctest text files. | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | Fix encoding errors for unicode warnings in Python 2. | ||||||
|  | @ -0,0 +1,38 @@ | ||||||
|  | {% for section in sections %} | ||||||
|  | {% set underline = "-" %} | ||||||
|  | {% if section %} | ||||||
|  | {{section}} | ||||||
|  | {{ underline * section|length }}{% set underline = "~" %} | ||||||
|  | 
 | ||||||
|  | {% endif %} | ||||||
|  | {% if sections[section] %} | ||||||
|  | {% for category, val in definitions.items() if category in sections[section] and category != 'trivial' %} | ||||||
|  | 
 | ||||||
|  | {{ definitions[category]['name'] }} | ||||||
|  | {{ underline * definitions[category]['name']|length }} | ||||||
|  | 
 | ||||||
|  | {% if definitions[category]['showcontent'] %} | ||||||
|  | {% for text, values in sections[section][category]|dictsort(by='value') %} | ||||||
|  | - {{ text }}{% if category != 'vendor' %} ({{ values|sort|join(', ') }}){% endif %} | ||||||
|  | 
 | ||||||
|  | {% endfor %} | ||||||
|  | {% else %} | ||||||
|  | - {{ sections[section][category]['']|sort|join(', ') }} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | {% endif %} | ||||||
|  | {% if sections[section][category]|length == 0 %} | ||||||
|  | 
 | ||||||
|  | No significant changes. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | {% else %} | ||||||
|  | {% endif %} | ||||||
|  | {% endfor %} | ||||||
|  | {% else %} | ||||||
|  | 
 | ||||||
|  | No significant changes. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | {% endif %} | ||||||
|  | {% endfor %} | ||||||
|  | @ -0,0 +1,35 @@ | ||||||
|  | [tool.towncrier] | ||||||
|  | package = "pytest" | ||||||
|  | filename = "CHANGELOG.rst" | ||||||
|  | directory = "changelog/" | ||||||
|  | template = "changelog/_template.rst" | ||||||
|  | 
 | ||||||
|  |   [[tool.towncrier.type]] | ||||||
|  |   directory = "removal" | ||||||
|  |   name = "Deprecations and Removals" | ||||||
|  |   showcontent = true | ||||||
|  | 
 | ||||||
|  |   [[tool.towncrier.type]] | ||||||
|  |   directory = "feature" | ||||||
|  |   name = "Features" | ||||||
|  |   showcontent = true | ||||||
|  | 
 | ||||||
|  |   [[tool.towncrier.type]] | ||||||
|  |   directory = "bugfix" | ||||||
|  |   name = "Bug Fixes" | ||||||
|  |   showcontent = true | ||||||
|  | 
 | ||||||
|  |   [[tool.towncrier.type]] | ||||||
|  |   directory = "vendor" | ||||||
|  |   name = "Vendored Libraries" | ||||||
|  |   showcontent = true | ||||||
|  | 
 | ||||||
|  |   [[tool.towncrier.type]] | ||||||
|  |   directory = "doc" | ||||||
|  |   name = "Improved Documentation" | ||||||
|  |   showcontent = true | ||||||
|  | 
 | ||||||
|  |   [[tool.towncrier.type]] | ||||||
|  |   directory = "trivial" | ||||||
|  |   name = "Trivial Changes" | ||||||
|  |   showcontent = false | ||||||
|  | @ -11,10 +11,10 @@ from __future__ import print_function | ||||||
| import os | import os | ||||||
| import subprocess | import subprocess | ||||||
| import sys | import sys | ||||||
| 
 | from check_manifest import main | ||||||
| 
 | 
 | ||||||
| if os.path.isdir('.git'): | if os.path.isdir('.git'): | ||||||
|     sys.exit(subprocess.call('check-manifest', shell=True)) |     sys.exit(main()) | ||||||
| else: | else: | ||||||
|     print('No .git directory found, skipping checking the manifest file') |     print('No .git directory found, skipping checking the manifest file') | ||||||
|     sys.exit(0) |     sys.exit(0) | ||||||
|  |  | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | 
 | ||||||
|  | from __future__ import print_function | ||||||
|  | 
 | ||||||
|  | import subprocess | ||||||
|  | import glob | ||||||
|  | import sys | ||||||
|  | 
 | ||||||
|  | sys.exit(subprocess.call([ | ||||||
|  |     'rst-lint', '--encoding', 'utf-8', | ||||||
|  |     'CHANGELOG.rst', 'HOWTORELEASE.rst', 'README.rst', | ||||||
|  | ] + glob.glob('changelog/[0-9]*.*'))) | ||||||
|  | @ -99,6 +99,7 @@ def pre_release(ctx, version, user, password=None): | ||||||
|     """Generates new docs, release announcements and uploads a new release to devpi for testing.""" |     """Generates new docs, release announcements and uploads a new release to devpi for testing.""" | ||||||
|     announce(ctx, version) |     announce(ctx, version) | ||||||
|     regen(ctx) |     regen(ctx) | ||||||
|  |     changelog(ctx, version, write_out=True) | ||||||
| 
 | 
 | ||||||
|     msg = 'Preparing release version {}'.format(version) |     msg = 'Preparing release version {}'.format(version) | ||||||
|     check_call(['git', 'commit', '-a', '-m', msg]) |     check_call(['git', 'commit', '-a', '-m', msg]) | ||||||
|  | @ -146,3 +147,16 @@ def publish_release(ctx, version, user, pypi_name): | ||||||
|     print(' ', ','.join(emails)) |     print(' ', ','.join(emails)) | ||||||
|     print() |     print() | ||||||
|     print('And announce it on twitter adding the #pytest hash tag.') |     print('And announce it on twitter adding the #pytest hash tag.') | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @invoke.task(help={ | ||||||
|  |     'version': 'version being released', | ||||||
|  |     'write_out': 'write changes to the actial changelog' | ||||||
|  | }) | ||||||
|  | def changelog(ctx, version, write_out=False): | ||||||
|  |     if write_out: | ||||||
|  |         addopts = [] | ||||||
|  |     else: | ||||||
|  |         addopts = ['--draft'] | ||||||
|  |     check_call(['towncrier', '--version', version] + addopts) | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -1,3 +1,4 @@ | ||||||
| invoke | invoke | ||||||
| tox | tox | ||||||
| gitpython | gitpython | ||||||
|  | towncrier | ||||||
							
								
								
									
										2
									
								
								tox.ini
								
								
								
								
							
							
						
						
									
										2
									
								
								tox.ini
								
								
								
								
							|  | @ -61,7 +61,7 @@ deps = | ||||||
| commands = | commands = | ||||||
|     {envpython} scripts/check-manifest.py |     {envpython} scripts/check-manifest.py | ||||||
|     flake8 pytest.py _pytest testing |     flake8 pytest.py _pytest testing | ||||||
|     rst-lint CHANGELOG.rst HOWTORELEASE.rst README.rst --encoding utf-8 |     {envpython} scripts/check-rst.py | ||||||
| 
 | 
 | ||||||
| [testenv:py27-xdist] | [testenv:py27-xdist] | ||||||
| deps=pytest-xdist>=1.13 | deps=pytest-xdist>=1.13 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue