Skip to content

Test jobs on Python 3.11 to 3.13 are cancelled at the 90-minute limit #736

Closed

Description

@anth-volk

The Test matrix job in .github/workflows/pr_code_changes.yaml and the Test job in .github/workflows/push.yaml both run make test, which is pytest tests --cov=policyengine --cov-report=term-missing in one process, and both have timeout-minutes: 90.

On Python 3.11, 3.12 and 3.13, coverage.py 7.13.5 (the version in uv.lock) records coverage with its C trace function, because it switches to sys.monitoring only on Python 3.14 and later. Those jobs now take 65 to 90 minutes, and one of them is often cancelled at the 90-minute limit with no failing test:

The 3.14 job takes 47 to 60 minutes.

Proposed change

Raise timeout-minutes on both Test jobs from 90 to 105. The pull-request and push-to-main Test jobs run the same suite and are kept at the same limit, so a push run is not cancelled before Versioning either.

Possible follow-up

Measure coverage only on 3.14 and run plain pytest on 3.11 to 3.13. That would bring those jobs down to about the 3.14 time and make the higher limit unnecessary.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions