-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate coverage reports using only GitHub Actions, without codecov.io #447
Conversation
.github/workflows/ci.yml
Outdated
run: coverage combine | ||
|
||
- name: Report coverage | ||
run: coverage report |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe also create an html report and artifact it for download?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My plan is to send the diff coverage report as a comment... downloading the artifact looks complicated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, it's wouldn't be a primary use. But, it is how you can you get a nice view of the code and coverage without having somewhere to upload the html. Anyways, not critical, just a thought that can also be easily added later.
Codecov ReportBase: 100.00% // Head: 100.00% // No change to project coverage 👍
Additional details and impacted files@@ Coverage Diff @@
## trunk #447 +/- ##
===========================================
Coverage 100.00% 100.00%
===========================================
Files 13 22 +9
Lines 599 1607 +1008
Branches 138 286 +148
===========================================
+ Hits 599 1607 +1008
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
910434d
to
1706fde
Compare
1706fde
to
a86b23b
Compare
Diff CoverageDiff: origin/trunk...HEAD, staged and unstaged changesNo lines with coverage information in this diff. |
I think this is ready for an initial feedback needs-review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know this isn't part of the PR, but it's on topic so I'll at least comment.
Lines 107 to 110 in a86b23b
omit = [ | |
"src/towncrier/__main__.py", | |
"src/towncrier/test/*", | |
] |
Why would we omit tests? Not-covered test code is also bad.
Anyways, I ended up with a lot of comments. :|
I hope they are helpful.
.github/workflows/ci.yml
Outdated
- name: Store coverage file | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
# We have a single artifact shared for each workflow run. | ||
# in this way we should intefere with coverage reports from other PRs | ||
# or previous runs for the same PR. | ||
name: coverage-${{ github.run_id }} | ||
# Is important to keep the unique names for the coverage files | ||
# so that when uploaded to the same artifact, they don't overlap. | ||
path: .coverage* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comments in duplicated section below.
Side note... I really like cross-platform matrices to avoid this. :]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am missing the comment.
I am happy to see less duplication, but I think is best to have it in separate PR.
Thanks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is copy pasted from the other similar section and contains the same typos that were present there and have been fixed. They should be fixed here as well.
But, I'm going to go ahead and trigger a run here, cancel it partially completed, rerun the cancelled jobs and see if my concern about using the github.run_id
seems accurate.
Co-authored-by: Kyle Altendorf <sda@fstab.net>
thanks @altendky for the review.
I don't know. I have enabled the test coverage. Looks 100% I also think that test code coverage is super important... you might think that you have tests covering the prod code but in fact the tests are always skipped. |
Searching for artifacts, downloading the artifacts, extracting the archive, and loading in a local browser... seems complicated. For me is easier to just run the tests and check the local report. The idea with CI is just to raise a warning if coverage is missing. |
Thanks Kyle for the review. I think that this is ready for another review. For now, the output/feedback is done via a single comment that is updated and contains the output from |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the cleanup, a couple things left to check on.
.github/workflows/ci.yml
Outdated
- name: Store coverage file | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
# We have a single artifact shared for each workflow run. | ||
# in this way we should intefere with coverage reports from other PRs | ||
# or previous runs for the same PR. | ||
name: coverage-${{ github.run_id }} | ||
# Is important to keep the unique names for the coverage files | ||
# so that when uploaded to the same artifact, they don't overlap. | ||
path: .coverage* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is copy pasted from the other similar section and contains the same typos that were present there and have been fixed. They should be fixed here as well.
But, I'm going to go ahead and trigger a run here, cancel it partially completed, rerun the cancelled jobs and see if my concern about using the github.run_id
seems accurate.
Re-run will keep the run-id. Is not ideal ... but I think it should work. |
Well, I was trying over at https://github.com/twisted/towncrier/actions/runs/3401839419 and yes, the re-runs/attempts do retain the same run ID as you say. So, what is the need for the run ID here? Just so that if you download the artifact locally you know what run it corresponds to? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
fcb3eb7
to
12f3c81
Compare
I added the run-id to make sure we don't mix coverages between commits or PRs Based on the docs from here https://github.com/actions/upload-artifact#uploading-to-the-same-artifact
But re-reading it I see "in the same workflow" So I think that the run ID is not needed. at first I thought that the artifacts are shared between multiple workflows and runs. I will remove the run-id as it is not needed |
Many thanks, Kyle for the review and useful feedback. I will not merge it just now as I would like to apply the same process to twisted/twisted and apply any changes made there to keep the code in sync. here is how it looks for twisted/twisted twisted/twisted#11745 We still need a real PR with a real diff coverage...but we can see if after this is merged and update the format once we have a real example |
d2bc9e1
to
04a1c1b
Compare
I now see that diff-covers supports markdown output. I have enabled it. diff-covers also supports json report so in theory we can parse that output and generate inline PR comments, similar to codecov.io I will give it a try here. For me, the HTML artifact report doesn't look helpful. So future work, if someting is missing I think is best to contribute to diff-cover so that the markdown or json reports will do what we want. For example, I see that
|
I will merge this an open a new PR in which I will try to get inline comments working. |
A better example for the report is here #451 |
should we maybe roll this back for now, since it's breaking on all PRs that aren't by us? |
Yes. I think this should be reverted. @hynek Will you do that? |
Bumps [towncrier](https://github.com/twisted/towncrier) from 22.8.0 to 22.12.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/twisted/towncrier/releases">towncrier's releases</a>.</em></p> <blockquote> <h2>Towncrier 22.12.0</h2> <h1>towncrier 22.12.0 (2022-12-21)</h1> <h2>Features</h2> <ul> <li> <p>Added <code>--keep</code> option to the <code>build</code> command that allows generating a newsfile, but keeps the newsfragments in place. This option can not be used together with <code>--yes</code>. (<code>[#129](twisted/towncrier#129) <https://github.com/hawkowl/towncrier/issues/129></code>_)</p> </li> <li> <p>Python 3.11 is now officially supported. (<code>[#427](twisted/towncrier#427) <https://github.com/hawkowl/towncrier/issues/427></code>_)</p> </li> <li> <p>You can now create fragments that are not associated with issues. Start the name of the fragment with <code>+</code> (e.g. <code>+anything.feature</code>). The content of these orphan news fragments will be included in the release notes, at the end of the category corresponding to the file extension.</p> <p>To help quickly create a unique orphan news fragment, <code>towncrier create +.feature</code> will append a random string to the base name of the file, to avoid name collisions. (<code>[#428](twisted/towncrier#428) <https://github.com/hawkowl/towncrier/issues/428></code>_)</p> </li> </ul> <h2>Improved Documentation</h2> <ul> <li>Improved contribution documentation. (<code>[#415](twisted/towncrier#415) <https://github.com/hawkowl/towncrier/issues/415></code>_)</li> <li>Correct a typo in the readme that incorrectly documented custom fragments in a format that does not work. (<code>[#424](twisted/towncrier#424) <https://github.com/hawkowl/towncrier/issues/424></code>_)</li> <li>The documentation has been restructured and (hopefully) improved. (<code>[#435](twisted/towncrier#435) <https://github.com/hawkowl/towncrier/issues/435></code>_)</li> <li>Added a Markdown-based how-to guide. (<code>[#436](twisted/towncrier#436) <https://github.com/hawkowl/towncrier/issues/436></code>_)</li> <li>Defining custom fragments using a TOML array is not deprecated anymore. (<code>[#438](twisted/towncrier#438) <https://github.com/hawkowl/towncrier/issues/438></code>_)</li> </ul> <h2>Deprecations and Removals</h2> <ul> <li>Default branch for <code>towncrier check</code> is now "origin/main" instead of "origin/master". If "origin/main" does not exist, fallback to "origin/master" with a deprecation warning. (<code>[#400](twisted/towncrier#400) <https://github.com/hawkowl/towncrier/issues/400></code>_)</li> </ul> <h2>22.12.0rc1</h2> <h1>towncrier 22.12.0rc1 (2022-12-20)</h1> <h2>Features</h2> <ul> <li> <p>Added <code>--keep</code> option to the <code>build</code> command that allows generating a newsfile, but keeps the newsfragments in place. This option can not be used together with <code>--yes</code>. (<code>[#129](twisted/towncrier#129) <https://github.com/hawkowl/towncrier/issues/129></code>_)</p> </li> <li> <p>Python 3.11 is now officially supported. (<code>[#427](twisted/towncrier#427) <https://github.com/hawkowl/towncrier/issues/427></code>_)</p> </li> <li> <p>You can now create fragments that are not associated with issues. Start the name of the fragment with <code>+</code> (e.g. <code>+anything.feature</code>). The content of these orphan news fragments will be included in the release notes, at the end of the category corresponding to the file extension.</p> <p>To help quickly create a unique orphan news fragment, <code>towncrier create +.feature</code> will append a random string to the base name of the file, to avoid name collisions. (<code>[#428](twisted/towncrier#428) <https://github.com/hawkowl/towncrier/issues/428></code>_)</p> </li> </ul> <h2>Improved Documentation</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/twisted/towncrier/blob/trunk/NEWS.rst">towncrier's changelog</a>.</em></p> <blockquote> <h1>towncrier 22.12.0 (2022-12-21)</h1> <p>No changes since the previous release candidate.</p> <h1>towncrier 22.12.0rc1 (2022-12-20)</h1> <h2>Features</h2> <ul> <li> <p>Added <code>--keep</code> option to the <code>build</code> command that allows generating a newsfile, but keeps the newsfragments in place. This option can not be used together with <code>--yes</code>. (<code>[#129](twisted/towncrier#129) <https://github.com/hawkowl/towncrier/issues/129></code>_)</p> </li> <li> <p>Python 3.11 is now officially supported. (<code>[#427](twisted/towncrier#427) <https://github.com/hawkowl/towncrier/issues/427></code>_)</p> </li> <li> <p>You can now create fragments that are not associated with issues. Start the name of the fragment with <code>+</code> (e.g. <code>+anything.feature</code>). The content of these orphan news fragments will be included in the release notes, at the end of the category corresponding to the file extension.</p> <p>To help quickly create a unique orphan news fragment, <code>towncrier create +.feature</code> will append a random string to the base name of the file, to avoid name collisions. (<code>[#428](twisted/towncrier#428) <https://github.com/hawkowl/towncrier/issues/428></code>_)</p> </li> </ul> <h2>Improved Documentation</h2> <ul> <li>Improved contribution documentation. (<code>[#415](twisted/towncrier#415) <https://github.com/hawkowl/towncrier/issues/415></code>_)</li> <li>Correct a typo in the readme that incorrectly documented custom fragments in a format that does not work. (<code>[#424](twisted/towncrier#424) <https://github.com/hawkowl/towncrier/issues/424></code>_)</li> <li>The documentation has been restructured and (hopefully) improved. (<code>[#435](twisted/towncrier#435) <https://github.com/hawkowl/towncrier/issues/435></code>_)</li> <li>Added a Markdown-based how-to guide. (<code>[#436](twisted/towncrier#436) <https://github.com/hawkowl/towncrier/issues/436></code>_)</li> <li>Defining custom fragments using a TOML array is not deprecated anymore. (<code>[#438](twisted/towncrier#438) <https://github.com/hawkowl/towncrier/issues/438></code>_)</li> </ul> <h2>Deprecations and Removals</h2> <ul> <li>Default branch for <code>towncrier check</code> is now "origin/main" instead of "origin/master". If "origin/main" does not exist, fallback to "origin/master" with a deprecation warning. (<code>[#400](twisted/towncrier#400) <https://github.com/hawkowl/towncrier/issues/400></code>_)</li> </ul> <h2>Misc</h2> <ul> <li><code>[#406](twisted/towncrier#406) <https://github.com/hawkowl/towncrier/issues/406></code><em>, <code>[#408](twisted/towncrier#408) <https://github.com/hawkowl/towncrier/issues/408></code></em>, <code>[#411](twisted/towncrier#411) <https://github.com/hawkowl/towncrier/issues/411></code><em>, <code>[#412](twisted/towncrier#412) <https://github.com/hawkowl/towncrier/issues/412></code></em>, <code>[#413](twisted/towncrier#413) <https://github.com/hawkowl/towncrier/issues/413></code><em>, <code>[#414](twisted/towncrier#414) <https://github.com/hawkowl/towncrier/issues/414></code></em>, <code>[#416](twisted/towncrier#416) <https://github.com/hawkowl/towncrier/issues/416></code><em>, <code>[#418](twisted/towncrier#418) <https://github.com/hawkowl/towncrier/issues/418></code></em>, <code>[#419](twisted/towncrier#419) <https://github.com/hawkowl/towncrier/issues/419></code><em>, <code>[#421](twisted/towncrier#421) <https://github.com/hawkowl/towncrier/issues/421></code></em>, <code>[#429](twisted/towncrier#429) <https://github.com/hawkowl/towncrier/issues/429></code><em>, <code>[#430](twisted/towncrier#430) <https://github.com/hawkowl/towncrier/issues/430></code></em>, <code>[#431](twisted/towncrier#431) <https://github.com/hawkowl/towncrier/issues/431></code><em>, <code>[#434](twisted/towncrier#434) <https://github.com/hawkowl/towncrier/issues/434></code></em>, <code>[#446](twisted/towncrier#446) <https://github.com/hawkowl/towncrier/issues/446></code><em>, <code>[#447](twisted/towncrier#447) <https://github.com/hawkowl/towncrier/issues/447></code></em></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/twisted/towncrier/commit/b0e201f8d84819f0e5604e0cb029fb3b8b4cf2df"><code>b0e201f</code></a> RST is hard.</li> <li><a href="https://github.com/twisted/towncrier/commit/2c611bebcd3c7661bd406d227aadf3b72d2927de"><code>2c611be</code></a> Fix rst format.</li> <li><a href="https://github.com/twisted/towncrier/commit/76a20070cc57f00eedca2cac5551a5b2cbf9d0f4"><code>76a2007</code></a> Fix typo.</li> <li><a href="https://github.com/twisted/towncrier/commit/62feaf664badc09f0082185c4950876a521f019e"><code>62feaf6</code></a> Update version for final release.</li> <li><a href="https://github.com/twisted/towncrier/commit/fbc4f1f25570a8406c88a4da4a75ce745631b4d2"><code>fbc4f1f</code></a> Quick fix for incremental rc version normalization.</li> <li><a href="https://github.com/twisted/towncrier/commit/26a5eba8116df4516c646c748a51bbbfdb3fe50c"><code>26a5eba</code></a> Try latest incremental since a test is failing.</li> <li><a href="https://github.com/twisted/towncrier/commit/7cbec75915dafc43471b27e2179767b3cf49d982"><code>7cbec75</code></a> Create rc1.</li> <li><a href="https://github.com/twisted/towncrier/commit/3859e58402986c181faa7f09c846b0873c62fb86"><code>3859e58</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github-redirect.dependabot.com/twisted/towncrier/issues/452">#452</a>)</li> <li><a href="https://github.com/twisted/towncrier/commit/341897512d8ffcbafbeac9dabc6e524523a22c34"><code>3418975</code></a> Revert Generate coverage reports using only GitHub Actions (<a href="https://github-redirect.dependabot.com/twisted/towncrier/issues/455">#455</a>)</li> <li><a href="https://github.com/twisted/towncrier/commit/24f65a0ed18c5d9b875e8f3e4334fd18945add06"><code>24f65a0</code></a> Add --keep option to allow to generate newsfile, but keep newsfragmen… (<a href="https://github-redirect.dependabot.com/twisted/towncrier/issues/453">#453</a>)</li> <li>Additional commits viewable in <a href="https://github.com/twisted/towncrier/compare/22.8.0...22.12.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=towncrier&package-manager=pip&previous-version=22.8.0&new-version=22.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Monty Bot <monty-bot@arm.com>
towncrier 22.12.0 (2022-12-21) ============================== No changes since the previous release candidate. towncrier 22.12.0rc1 (2022-12-20) ================================= Features -------- - Added ``--keep`` option to the ``build`` command that allows generating a newsfile, but keeps the newsfragments in place. This option can not be used together with ``--yes``. (`#129 <https://github.com/hawkowl/towncrier/issues/129>`_) - Python 3.11 is now officially supported. (`#427 <https://github.com/hawkowl/towncrier/issues/427>`_) - You can now create fragments that are not associated with issues. Start the name of the fragment with ``+`` (e.g. ``+anything.feature``). The content of these orphan news fragments will be included in the release notes, at the end of the category corresponding to the file extension. To help quickly create a unique orphan news fragment, ``towncrier create +.feature`` will append a random string to the base name of the file, to avoid name collisions. (`#428 <https://github.com/hawkowl/towncrier/issues/428>`_) Improved Documentation ---------------------- - Improved contribution documentation. (`#415 <https://github.com/hawkowl/towncrier/issues/415>`_) - Correct a typo in the readme that incorrectly documented custom fragments in a format that does not work. (`#424 <https://github.com/hawkowl/towncrier/issues/424>`_) - The documentation has been restructured and (hopefully) improved. (`#435 <https://github.com/hawkowl/towncrier/issues/435>`_) - Added a Markdown-based how-to guide. (`#436 <https://github.com/hawkowl/towncrier/issues/436>`_) - Defining custom fragments using a TOML array is not deprecated anymore. (`#438 <https://github.com/hawkowl/towncrier/issues/438>`_) Deprecations and Removals ------------------------- - Default branch for `towncrier check` is now "origin/main" instead of "origin/master". If "origin/main" does not exist, fallback to "origin/master" with a deprecation warning. (`#400 <https://github.com/hawkowl/towncrier/issues/400>`_) Misc ---- - `#406 <https://github.com/hawkowl/towncrier/issues/406>`_, `#408 <https://github.com/hawkowl/towncrier/issues/408>`_, `#411 <https://github.com/hawkowl/towncrier/issues/411>`_, `#412 <https://github.com/hawkowl/towncrier/issues/412>`_, `#413 <https://github.com/hawkowl/towncrier/issues/413>`_, `#414 <https://github.com/hawkowl/towncrier/issues/414>`_, `#416 <https://github.com/hawkowl/towncrier/issues/416>`_, `#418 <https://github.com/hawkowl/towncrier/issues/418>`_, `#419 <https://github.com/hawkowl/towncrier/issues/419>`_, `#421 <https://github.com/hawkowl/towncrier/issues/421>`_, `#429 <https://github.com/hawkowl/towncrier/issues/429>`_, `#430 <https://github.com/hawkowl/towncrier/issues/430>`_, `#431 <https://github.com/hawkowl/towncrier/issues/431>`_, `#434 <https://github.com/hawkowl/towncrier/issues/434>`_, `#446 <https://github.com/hawkowl/towncrier/issues/446>`_, `#447 <https://github.com/hawkowl/towncrier/issues/447>`_ towncrier 22.8.0 (2022-08-29) ============================= No significant changes since the previous release candidate. towncrier 22.8.0.rc1 (2022-08-28) ================================= Features -------- - Make the check subcommand succeed for branches that change the news file This should enable the ``check`` subcommand to be used as a CI lint step and not fail when a pull request only modifies the configured news file (i.e. when the news file is being assembled for the next release). (`#337 <https://github.com/hawkowl/towncrier/issues/337>`_) - Added support to tables in toml settings, which provides a more intuitive way to configure custom types. (`#369 <https://github.com/hawkowl/towncrier/issues/369>`_) - The `towncrier create` command line now has a new `-m TEXT` argument that is used to define the content of the newly created fragment. (`#374 <https://github.com/hawkowl/towncrier/issues/374>`_) Bugfixes -------- - The extra newline between the title and rendered content when using ``--draft`` is no longer inserted. (`#105 <https://github.com/hawkowl/towncrier/issues/105>`_) - The detection of duplicate release notes was fixed and recording changes of same version is no longer triggered. Support for having the release notes for each version in a separate file is working again. This is a regression introduced in VERSION 19.9.0rc1. (`#391 <https://github.com/hawkowl/towncrier/issues/391>`_) Improved Documentation ---------------------- - Improve ``CONTRIBUTING.rst`` and add PR template. (`#342 <https://github.com/hawkowl/towncrier/issues/342>`_) - Move docs too the main branch and document custom fragment types. (`#367 <https://github.com/hawkowl/towncrier/issues/367>`_) - The CLI help messages were updated to contain more information. (`#384 <https://github.com/hawkowl/towncrier/issues/384>`_) Deprecations and Removals ------------------------- - Support for all Python versions older than 3.7 has been dropped. (`#378 <https://github.com/hawkowl/towncrier/issues/378>`_) Misc ---- - `#292 <https://github.com/hawkowl/towncrier/issues/292>`_, `#330 <https://github.com/hawkowl/towncrier/issues/330>`_, `#366 <https://github.com/hawkowl/towncrier/issues/366>`_, `#376 <https://github.com/hawkowl/towncrier/issues/376>`_, `#377 <https://github.com/hawkowl/towncrier/issues/377>`_, `#380 <https://github.com/hawkowl/towncrier/issues/380>`_, `#381 <https://github.com/hawkowl/towncrier/issues/381>`_, `#382 <https://github.com/hawkowl/towncrier/issues/382>`_, `#383 <https://github.com/hawkowl/towncrier/issues/383>`_, `#393 <https://github.com/hawkowl/towncrier/issues/393>`_, `#399 <https://github.com/hawkowl/towncrier/issues/399>`_, `#402 <https://github.com/hawkowl/towncrier/issues/402>`_ towncrier 21.9.0 (2022-02-04) ============================= Features -------- - towncrier --version` was added to the command line interface to show the product version. (`#339 <https://github.com/hawkowl/towncrier/issues/339>`_) - Support Toml v1 syntax with tomli on Python 3.6+ (`#354 <https://github.com/hawkowl/towncrier/issues/354>`_) Bugfixes -------- - Stop writing title twice when ``title_format`` is specified. (`#346 <https://github.com/hawkowl/towncrier/issues/346>`_) - Disable universal newlines when reading TOML (`#359 <https://github.com/hawkowl/towncrier/issues/359>`_) Misc ---- - `#332 <https://github.com/hawkowl/towncrier/issues/332>`_, `#333 <https://github.com/hawkowl/towncrier/issues/333>`_, `#334 <https://github.com/hawkowl/towncrier/issues/334>`_, `#338 <https://github.com/hawkowl/towncrier/issues/338>`_ towncrier 21.3.0 (2021-04-02) ============================= No significant changes since the previous release candidate. towncrier 21.3.0.rc1 (2021-03-21) ================================= Features -------- - Ticket number from file names will be stripped down to avoid ticket links such as ``#7``. (`#126 <https://github.com/hawkowl/towncrier/issues/126>`_) - Allow definition of the project ``version`` and ``name`` in the configuration file. This allows use of towncrier seamlessly with non-Python projects. (`#165 <https://github.com/hawkowl/towncrier/issues/165>`_) - Improve news fragment file name parsing to allow using file names like ``123.feature.1.ext`` which are convenient when one wants to use an appropriate extension (e.g. ``rst``, ``md``) to enable syntax highlighting. (`#173 <https://github.com/hawkowl/towncrier/issues/173>`_) - The new ``--edit`` option of the ``create`` subcommand launches an editor for entering the contents of the newsfragment. (`#275 <https://github.com/hawkowl/towncrier/issues/275>`_) - CPython 3.8 and 3.9 are now part of our automated test matrix and are officially supported. (`#291 <https://github.com/hawkowl/towncrier/issues/291>`_) - When searching for the project, first check for an existing importable instance. This helps if the version is only available in the installed version and not the source. (`#297 <https://github.com/hawkowl/towncrier/issues/297>`_) - Support building with PEP 517. (`#314 <https://github.com/hawkowl/towncrier/issues/314>`_) Bugfixes -------- - Configuration errors found during command line execution now trigger a message to stderr and no longer show a traceback. (`#84 <https://github.com/hawkowl/towncrier/issues/84>`_) - A configuration error is triggered when the newsfragment files couldn't be discovered. (`#85 <https://github.com/hawkowl/towncrier/issues/85>`_) - Invoking towncrier as `python -m towncrier` works. (`#163 <https://github.com/hawkowl/towncrier/issues/163>`_) - ``check`` subcommand defaults to UTF-8 encoding when ``sys.stdout.encoding`` is ``None``. This happens, for example, with Python 2 on GitHub Actions or when the output is piped. (`#175 <https://github.com/hawkowl/towncrier/issues/175>`_) - Specifying ``title_format`` disables default top line creation to avoid duplication. (`#180 <https://github.com/hawkowl/towncrier/issues/180>`_) Improved Documentation ---------------------- - The README now mentions the possibility to name the configuration file ``towncrier.toml`` (in addition to ``pyproject.toml``). (`#172 <https://github.com/hawkowl/towncrier/issues/172>`_) - ``start_line`` corrected to ``start_string`` in the readme to match the long standing implementation. (`#277 <https://github.com/hawkowl/towncrier/issues/277>`_) towncrier 19.9.0 (2021-03-20) ============================= No significant changes. towncrier 19.9.0rc1 (2019-09-16) ================================ Features -------- - Add ``create`` subcommand, which can be used to quickly create a news fragment command in the location defined by config. (`#4 <https://github.com/hawkowl/towncrier/issues/4>`_) - Add support for subcommands, meaning the functionality of the ``towncrier`` executable is now replaced by the ``build`` subcommand:: $ towncrier build --draft A new ``check`` subcommand is exposed. This is an alternative to calling the ``towncrier.check`` module manually:: $ towncrier check Calling ``towncrier`` without a subcommand will result in a call to the ``build`` subcommand to ensure backwards compatibility. This may be removed in a future release. (`#144 <https://github.com/hawkowl/towncrier/issues/144>`_) - Towncrier's templating now allows configuration of the version header. *CUSTOM TEMPLATE USERS PLEASE NOTE: You will need to add the version header information to your template!* (`#147 <https://github.com/hawkowl/towncrier/issues/147>`_) - towncrier now accepts the --config argument to specify a custom configuration file (`#157 <https://github.com/hawkowl/towncrier/issues/157>`_) - There is now the option for ``all_bullets = false`` in the configuration. Setting ``all_bullets`` to false means that news fragments have to include the bullet point if they should be rendered as enumerations, otherwise they are rendered directly (this means fragments can include a header.). It is necessary to set this option to avoid (incorrect) automatic indentation of multiline fragments that do not include bullet points. The ``single-file-no-bullets.rst`` template gives an example of using these options. (`#158 <https://github.com/hawkowl/towncrier/issues/158>`_) - The ``single_file`` option can now be added to the configuration file. When set to ``true``, the filename key can now be formattable with the ``name``, ``version``, and ``project_date`` format variables. This allows subsequent versions to be written out to new files instead of appended to an existing one. (`#161 <https://github.com/hawkowl/towncrier/issues/161>`_) - You can now specify Towncrier-bundled templates in your configuration file. Available templates are `default`, `hr-between-versions` (as used in attrs), and `single-file-no-bullets`. (`#162 <https://github.com/hawkowl/towncrier/issues/162>`_) Bugfixes -------- - Accept newsfragment filenames with multiple dots, like `fix-1.2.3.bugfix`. (`#142 <https://github.com/hawkowl/towncrier/issues/142>`_) Deprecations and Removals ------------------------- - The `--pyproject` option for `towncrier check` is now replaced with `--config`, for consistency with other commands. (`#162 <https://github.com/hawkowl/towncrier/issues/162>`_)
Description
Fixes #410
This tries to generate coverage reports only via GitHub Actions...so that we don't have to depend on codecov.io
Drive-by
I have removed the codeowner as I don't think it helps.