Skip to content

Add GitHub Actions CI testing numpy 1.x + 2.x and transformers 4.x + 5.x - #85

Open
DrLHS wants to merge 1 commit into
moment-timeseries-foundation-model:mainfrom
DrLHS:lhs/ci-workflow
Open

Add GitHub Actions CI testing numpy 1.x + 2.x and transformers 4.x + 5.x#85
DrLHS wants to merge 1 commit into
moment-timeseries-foundation-model:mainfrom
DrLHS:lhs/ci-workflow

Conversation

@DrLHS

@DrLHS DrLHS commented Jun 7, 2026

Copy link
Copy Markdown

This PR adds a CI workflow that tests momentfm against three dependency combinations on every push:

Cell python numpy transformers torch
Lower bound 3.10 ==1.26.4 ==4.54.1 ==2.0.1
Mid-range 3.11 ==1.26.4 >=4.54.1,<5.0 >=2.0.1
Frontier 3.12 >=2.0 >=5.0 >=2.4

The frontier cell is the load-bearing one for any downstream user who has already migrated to numpy 2.x. Today the PyPI release v0.1.4 strictly pins numpy==1.25.2 and transformers==4.33.3 and so silently breaks in numpy-2 environments. main already has the loose pins (PR #81), but there's no automated signal that they actually work together end-to-end. This workflow provides that signal.

Each cell installs the matrix-pinned versions explicitly, then installs momentfm from source, then runs the existing pytest suite (no existing tests are touched). Green CI on the frontier cell is the prerequisite for cutting v0.1.5 to PyPI — see #84.

Files changed: .github/workflows/ci.yml (new, 71 lines).

Three-cell matrix that exercises momentfm against:

- the pyproject lower bounds (numpy 1.26.4, transformers 4.54.1, torch 2.0.1)
- a mid-range combination (transformers <5)
- the numpy 2.x + transformers 5.x frontier (numpy>=2.0, transformers>=5.0, torch>=2.4)

The frontier cell is the load-bearing one for downstream users who have
already migrated to numpy 2.x.  Today the PyPI release v0.1.4 strictly
pins numpy==1.25.2 and transformers==4.33.3 and silently breaks in
numpy-2 environments.  `main` already has the loose pins (PR moment-timeseries-foundation-model#81), but
there is no automated signal that they actually work together end-to-end.
This workflow provides that signal.

Each cell installs the matrix-pinned versions explicitly, then installs
momentfm from source, then runs the existing pytest suite.  Green CI on
the frontier cell is the prerequisite for cutting v0.1.5 to PyPI.
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.

1 participant