Description
The force_release
target in Makefile
(which is also used by the release
target after it attempts to check some things separate from this issue) had previously stopped after a failed attempt to build. But since #1654 it runs twine
to attempt the upload whether or not the build succeeded.
The problem is that a command of the form a || b
succeeds when a
succeeds, but also when a
fails but b
succeeds:
Line 20 in 25597cb
So that command fails only in the rare case that echo
fails to write to standard output.
But the message about how using a virtual environment may remedy a build failure is valuable and should not be removed. Instead, the logic can be adjusted to make sure the command fails if it gets that far.
There are some other improvements I'd like to propose to Makefile
, and I think it will be convenient to include a fix for this with them. But I wanted to open an issue for this, because I think this behavior is unexpected and could cause confusion while making a release if it is not anticipated (if the next release is made before it is fixed and something keeps the build command from succeeding).