Skip to content

Stabilize scheduled CI by pinning coverage to 7.15.0 across test environments - #657

Draft
pancetta with Copilot wants to merge 9 commits into
masterfrom
copilot/check-new-dependency-issues
Draft

Stabilize scheduled CI by pinning coverage to 7.15.0 across test environments#657
pancetta with Copilot wants to merge 9 commits into
masterfrom
copilot/check-new-dependency-issues

Conversation

Copilot AI commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Recent scheduled CI runs on master started failing in unrelated test jobs (Monodomain, parallelSDC, SDC_showdown) with abrupt process termination (exit 143/15) immediately after pytest startup. The common change across passing vs failing runs was coverage drifting from 7.15.0 to newer builds.

  • Root-cause containment: lock shared test instrumentation dependency

    • Pinned coverage to 7.15.0 in shared test env: etc/environment-tests.yml
    • Pinned coverage to 7.15.0 in Monodomain env: pySDC/projects/Monodomain/etc/environment-monodomain.yml
    • Pinned coverage to 7.15.0 in postprocess env: etc/environment-postprocess.yml
  • Scope

    • No test logic or workflow behavior changes
    • Only environment resolution changes to restore known-good dependency state
# before
- coverage[toml]

# after
- coverage=7.15.0

Copilot AI changed the title Pin coverage to 7.15.0 to stabilize CI test jobs Stabilize scheduled CI by pinning coverage to 7.15.0 across test environments Aug 3, 2026
Copilot AI requested a review from pancetta August 3, 2026 07:07
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Coverage report

This PR does not seem to contain any modification to coverable code.

The `concurrency = ['multiprocessing']` setting in [tool.coverage.run] causes
coverage to install subprocess tracking hooks via its multiprocessing plugin.
Newer coverage versions (post 7.15.0) have a regression in this plugin that
sends SIGTERM to the tracked process, manifesting as exit code 143 in CI jobs
(RayleighBenard, StroemungsRaum, DAE, fenics, mpi4py).

Removing `[toml]` from `coverage[toml]` in environment files only prevents the
TOML config from being read on Python 3.10; on Python 3.11+ the stdlib tomllib
is used automatically, so the multiprocessing plugin remains active. This commit
removes the setting from pyproject.toml directly, disabling the plugin on all
Python versions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants