Skip to content

CI: trim build workflow matrix and collapse build+test#148

Merged
yanghan234 merged 2 commits intomainfrom
copilot/improve-testing-workflows
Apr 21, 2026
Merged

CI: trim build workflow matrix and collapse build+test#148
yanghan234 merged 2 commits intomainfrom
copilot/improve-testing-workflows

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 21, 2026

The Build and Test with Mamba workflow ran a full os × python-version matrix (2 OSes × 4 Python versions) across two sequential jobs, producing 16 runs per push/PR with little added signal — the project has no version-specific code paths beyond the >=3.10 floor, and the build job was redundant with test.

Changes to .github/workflows/build.yaml

  • Single test job. Dropped the separate build job; uv pip install ".[dev]" in test already exercises the install path. Also removed the actions/cache block that pointed at the wrong env path and never hit — setup-micromamba's cache-environment: true handles this.
  • Focused matrix. ubuntu-latest × {3.10, 3.12} (pinned floor + one current Python) plus a single macos-latest × 3.10 smoke test via include:. 16 runs → 3.
  • Proper Python override. Replaced the sed rewrite of environment.yaml with create-args: python=${{ matrix.python-version }}.
  • Housekeeping. Bumped actions/checkout to v4, added concurrency to cancel superseded PR runs, set fail-fast: false, and added a minimal permissions: contents: read block.

Test invocation is unchanged (pytest -v tests --disable-warnings); environment.yaml's python=3.10 pin is left as-is to document the supported floor.

strategy:
  fail-fast: false
  matrix:
    os: [ubuntu-latest]
    python-version: ['3.10', '3.12']
    include:
      - os: macos-latest
        python-version: '3.10'

Open questions for reviewers: whether to keep the macOS smoke test on every PR or move it to a scheduled/release-only run, and whether 3.13 should be added back once pinned scientific deps officially support it.

The create-args approach conflicts with the python=3.10 pin in
environment.yaml, causing conda solver failures on Python 3.12.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@yanghan234 yanghan234 marked this pull request as ready for review April 21, 2026 15:43
@yanghan234 yanghan234 merged commit e58444d into main Apr 21, 2026
7 checks passed
@yanghan234 yanghan234 deleted the copilot/improve-testing-workflows branch April 21, 2026 15:45
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