Skip to content

"make [force_]release" attempts upload even if build fails #1660

Closed
@EliahKagan

Description

@EliahKagan

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:

python3 -m build --sdist --wheel || echo "Use a virtual-env with 'python -m venv env && source env/bin/activate' instead"

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).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions