Skip to content

Intermittent workflow failures due to global enabling of matplotlib's usetex config by scripts.test_flux_weights module #968

Description

@thehrh

pisa.scripts.test_flux_weights indiscriminately requests Matplotlib to use LaTeX to render text at import time, which is already problematic in and of itself.

When imported before executing code that renders typeset text and when the OS has no LaTeX engine, that code will fail. This has now been encountered in https://github.com/icecube/pisa/actions/runs/30669585701/job/91289833126, because the runner image has no LaTeX engine. Here, pisa.core.map.test_Map() was affected.

Note that the testing script does not seem to have a fixed import order—the last successful workflow run before the one above had a switched import order.

This flaw in pisa.scripts.test_flux_weights likely wouldn't have been found without #956, which added the Map-plotting unit test.

A fix of the issue has been included (for verifying the above causal chain) in #959, where the usetex configuration is only done when the script is run directly and only when an engine is actually present.

However, a dedicated PR will follow, because #959 is unrelated and not yet ready to merge.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions