Skip to content

Investigate splitting parameterized Linux jobs #46

@tbirdso

Description

@tbirdso

Current Behavior

Linux jobs are organized as follows:

  • N jobs are created for a given run where N == # Python targets, i.e. building wheels for Python 3.7 - 3.11 creates 5 jobs. The list of Python framework targets is fixed and cannot be altered with an input parameter.
  • M wheels are created from a given run where M == # toolchain / platform target pairs, i.e. building for manylinux_2014_x64 and manylinux_2_28_aarch64 would result in two wheels being produced for a given Python version 3.x in one job.

Desired Behavior

To improve traceability and readability it would be useful to schedule N x M jobs for a given run where each run produces exactly one wheel. It is currently unclear whether the Github Actions framework allows for input parameters to impact job scheduling in this way.

Preferred approach: Use input parameters to determine the number of jobs to schedule.
Backup approach: Instead of setting manylinux/arch target pairs via an input parameter, fix the list so that _2_28/x64, 2014/x64, and _2_28/aarch64 wheels are always built. Always schedule 15 Linux jobs accordingly.

Metadata

Metadata

Assignees

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