Skip to content

Expand platforms that unit tests run on#1742

Open
fcooper8472 wants to merge 9 commits intomainfrom
1741-rationalise-unit-test-workflows
Open

Expand platforms that unit tests run on#1742
fcooper8472 wants to merge 9 commits intomainfrom
1741-rationalise-unit-test-workflows

Conversation

@fcooper8472
Copy link
Member

Previously, unit tests have only been run on x86_64 platforms, but these have included all current (and two old) python CPython version.

I propose testing:

  • All current python versions, each on two different operating systems
  • The most recent deceased python version
  • The next pre-release version (to check future compatibility)

Along with each of Ubuntu, macOS and Windows, both x86_64 and arm64 architectures, just to check there are no nasty surprises for users.

The current syntax I'm proposing is a little ugly. But it's not justifiable to do the full cartesian product of all pythons and operating systems.

@fcooper8472 fcooper8472 linked an issue Mar 6, 2026 that may be closed by this pull request
extras: ""
- py: "3.13"
os: ubuntu-24.04-arm
extras: ".[stan]"
Copy link
Member

@MichaelClerx MichaelClerx Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we restrict the stan stuff to one version?
It only runs on 3.10, 3.11, and 3.12, I think

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I'll restrict the .[stan] builds.

include:
- py: "3.9"
os: ubuntu-22.04
extras: ""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possible to have it default to "" instead of respecifying every time?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we can do this. Good thinking.

@MichaelClerx
Copy link
Member

Just out of curiousity: Would it be less verbose to run a full matrix but put some if() condition in that rejects certain (i,j) combos? Or is that even more typing?

@fcooper8472
Copy link
Member Author

Just out of curiousity: Would it be less verbose to run a full matrix but put some if() condition in that rejects certain (i,j) combos? Or is that even more typing?

I think there end up being a large number to exclude.... I'll get a proof of concept working and then let's see if it can be streamlined at all.

@codecov
Copy link

codecov bot commented Mar 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (8312b9a) to head (cc9644d).

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #1742   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           97        97           
  Lines         9762      9762           
=========================================
  Hits          9762      9762           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

Rationalise unit test workflows

2 participants