openfisca / openfisca-core

OpenFisca core engine. See other repositories for countries-specific code & data.
https://openfisca.org
GNU Affero General Public License v3.0
168 stars 75 forks source link

make build does not fail when a requirement fails to install #1120

Open MattiSG opened 2 years ago

MattiSG commented 2 years ago

Hi there!

I really enjoy OpenFisca, but I recently encountered an issue.

Here is what I did:

make build with a setup.py that expressed an unmatchable constraint (e.g. bumping major of openfisca-core, creating an incompatibility with openfisca-country-template that prevents this latter package from being installed).

Here is what I expected to happen:

make build fails.

Here is what actually happened:

The failure is logged, but make build succeeds, leading to all other tests failing for very strange reasons. For example, make test-core fails with a /opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/subprocess.py:1551: FileNotFoundError

Here is data (or links to it) that can help you reproduce this issue:

This CI run illustrates the problem: https://github.com/openfisca/openfisca-core/runs/6157548243

Source of the problem

make build uses find -exec. This does not aggregate exit codes.

Solutions

The following solutions were tried:

The last one works (👏 @sandcha), but supports having only one wheel file. This seems to be the case every time, but context for the initial implementation would be welcome.

Context

I identify more as a: