InsightSoftwareConsortium / ITKRemoteModuleBuildTestPackageAction

A composite GitHub Action to build, test, and package, ITK remote modules
Apache License 2.0
3 stars 6 forks source link

BUG: Linux internal build failure is silent #38

Closed tbirdso closed 1 year ago

tbirdso commented 1 year ago

An issue was observed in the HASI repository where Linux wheel builds failed but jobs were marked as having completed successfully. MacOS and Windows wheels failed and were correctly marked as failed.

https://github.com/KitwareMedical/HASI/actions/runs/3750380351/jobs/6370024283

Steps to Reproduce

The HASI module depends on the ITKBoneEnhancement project. If ITKBoneEnhancement build outputs are not provided then HASI wheels are expected to fail.

  1. Fetch ITK build artifacts (without ITKBoneEnhancement)
  2. Try building HASI with ITKPythonPackage build scripts

Observed behavior

The HASI build begins inside the appropriate docker container and fails at the config stage. However, the failure does not seem to propagate from the container back to the host.

tbirdso commented 1 year ago

A similar issue was encountered in https://github.com/InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/issues/52 where a package failed to install inside the docker image, resulting in a build failure that is not caught by the GitHub Actions runner and subsequently reported as a success.

A minimum path to address this issue is to validate that the expected wheel / number of wheels is present in dist/ after the build process completes and before artifact upload is attempted.

tbirdso commented 1 year ago

Workaround introduced in https://github.com/InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/pull/53 so that a job fails if expected wheel output is not produced. Closing for now with the potential to reopen if this fix proves insufficient for tracing errors.