Skip to content

Fix local-wheel smoke matrix to run on all five platforms #8

Description

@pinodeca

Problem

The smoke-local job in .github/workflows/publish.yml is intended to install and exercise built wheels on five platform runners:

  • Ubuntu x86_64
  • Ubuntu ARM64
  • macOS ARM64
  • macOS x86_64
  • Windows x86_64

In the PR workflow for #7, GitHub Actions instantiated only one local smoke job: Smoke (local) windows-latest py3.12. The five wheel builds and sdist succeeded, but four platform wheels were never installed and exercised by ci/smoke/smoke.py.

Observed run: https://github.com/microsoft/duroxide-python/actions/runs/30471618425

Likely cause

The matrix defines python: ["3.12"] as a base axis while defining os and shell through include. The include entries successively augment the same base combination instead of creating five complete matrix rows, leaving only the final Windows values.

Current shape:

matrix:
  include:
    - os: ubuntu-latest
      shell: bash
    # ...
    - os: windows-latest
      shell: pwsh
  python: ["3.12"]

Define python in each included row (or use a normal OS axis plus an explicit shell mapping) so every tuple is distinct:

matrix:
  include:
    - os: ubuntu-latest
      shell: bash
      python: "3.12"
    # ...
    - os: windows-latest
      shell: pwsh
      python: "3.12"

Acceptance criteria

  • PR workflows instantiate five Smoke (local) <os> py3.12 jobs.
  • Each job installs a matching locally built wheel in a fresh environment and runs ci/smoke/smoke.py.
  • A smoke failure on any platform prevents the publish job from running on release workflows.
  • Registry smoke behavior remains unchanged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions