llvm / llvm/circt

[CI] Separate Python wheel upload jobs for MacOS and Linux.

Open
#6,387 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement Python
Dominant language
C++
Stars
2.2k
Forks
524
Avg merge
3d 2h
Merged PRs (30d)
46

Description

A while back, we separated the wheel build and wheel upload jobs, since the wheel upload we use only works in a Linux environment. However, we sometimes see failures on one platform that block the upload even if the other platform succeeded.

As mentioned in https://github.com/llvm/circt/issues/6385#issuecomment-1799312207, the recommended way to allow jobs to proceed even if other jobs fail doesn't seem to work for our scenario.

To resolve this, I think we could separate the wheel upload jobs for MacOS and Linux, so that even if the build fails on one platform, the other platform can be uploaded if it succeeds. This might also require separating the build wheel jobs by platform, so each upload wheel job can depend on the build wheel job for its platform.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the GitHub Actions wheel build and upload jobs, focusing on their macOS and Linux dependencies. Separate the platform paths so a successful platform's wheel upload can proceed when the other platform's build fails, then verify both success and failure scenarios in CI.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, linux, macos, python
Domain
build-system, ci-cd, release
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.