-
Notifications
You must be signed in to change notification settings - Fork 19
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
[WIP] enforce newsfragments in CI #153
base: master
Are you sure you want to change the base?
[WIP] enforce newsfragments in CI #153
Conversation
e4f6c8f
to
da7e2da
Compare
cc @cburgdorf wonder what you think about this. It catches errors like the following This ``code` is not correctly closed But it also errors on things like this because it doesn't know anything about the The :class:`~lahja.endpoint.Endpoint` enables communication between different processes |
@@ -60,7 +60,7 @@ release: clean | |||
# Now generate the release notes to have them included in the release commit | |||
towncrier --yes --version $(UPCOMING_VERSION) | |||
# Before we bump the version, make sure that the towncrier-generated docs will build | |||
make build-docs | |||
$(MAKE) build-docs |
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.
Just curious: Why is this the preferred over just make build-docs
?
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.
On OSes like Solaris, it was a way to use the same make command that the user typed in, which often was gmake
because the Solaris make didn't understand GNU Make extensions.
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 filling my knowledge gap!
Urgh..that's not good. I think we want to encourage the use of these directives to directly make pointers from release notes into relevant docs. Actually, I thought we would already catch any relevant errors by running this in CI: Line 53 in 93610b2
But if towncrier itself does not validate the RST, how about we do the following:
This should catch any relevant errors (we also have warnings turned into errors) Does that make sense to you? |
I thought about doing it that way (actual generation of the changelog) but it's a stateful and destructive action and for us to be able to do that test we'd also have to undo the changes it makes which is a bit more complexity than I hoped to add... |
Why is that? It's just a thing that happens in CI but doesn't persist anywhere else (unless I'm missing something). We would generate the changelog on disk of the CI server and generate the docs (just as we do today) and either it raises errors or it doesn't. But nothing would be commited/persisted anywhere. |
Right, but then if someone runs that code locally they end up having done a destructive action... agreed that in the CI environment it's no big deal but I'm hesitant towards an approach that can only be run in CI. |
If we really care about this, we can do the following:
The main reason why I don't like the other approach is because it prevents us from writing nice release notes that make pointers into our docs. |
No arguments from me on that. Just wanted to try and see what we could do to validate proper RST formatting as in the most recent release I ran into this though it wasn't hard to fix. |
What was wrong?
How was it fixed?
To-Do
Cute Animal Picture