Skip to content

ci: stabilize optional backend workflows - #5945

Merged
njzjz merged 1 commit into
deepmodeling:masterfrom
njzjz:ci/stabilize-optional-workflows
Aug 1, 2026
Merged

ci: stabilize optional backend workflows#5945
njzjz merged 1 commit into
deepmodeling:masterfrom
njzjz:ci/stabilize-optional-workflows

Conversation

@njzjz

@njzjz njzjz commented Jul 31, 2026

Copy link
Copy Markdown
Member

Summary

  • allow Paddle-only C++ matrix entries to fail without cancelling or blocking the other backend jobs
  • temporarily disable Paddle installation and tests in the CUDA workflow
  • replace the manual uv installer with astral-sh/setup-uv@v9, pin uv 0.12.0, and limit macOS dependency downloads to avoid runner socket-buffer exhaustion

Failure analysis

The referenced macOS ARM job successfully built and repaired the wheel. It failed while installing wheel test dependencies because downloading lmdb raised No buffer space available (os error 55). The macOS wheel remains blocking so release runs cannot silently publish without that artifact; limiting uv download concurrency targets the observed runner resource failure.

Validation

  • prek run --files .github/workflows/test_cc.yml .github/workflows/test_cuda.yml .github/workflows/build_wheel.yml
  • ruff check .
  • ruff format .
  • actionlint on the changed workflows, excluding existing custom-runner and undefined optional matrix-field diagnostics

Coding agent: Codex
Codex version: codex-cli 0.144.6
Model: gpt-5.6-sol
Reasoning effort: xhigh

Summary by CodeRabbit

  • Chores

    • Improved wheel build reliability across supported operating systems.
    • Limited macOS build download concurrency for more consistent performance.
  • Tests

    • Improved test workflow resilience when Paddle-enabled checks encounter failures.
    • Disabled Paddle-specific setup in CUDA test runs.
    • Allowed CUDA and backend checks to continue independently when Paddle is unavailable.
    • Continued requiring TensorFlow and PyTorch for applicable test runs.

Copilot AI review requested due to automatic review settings July 31, 2026 16:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@dosubot dosubot Bot added the build label Jul 31, 2026
@njzjz
njzjz force-pushed the ci/stabilize-optional-workflows branch from f2ce3aa to af99fc5 Compare July 31, 2026 17:02
Copilot AI review requested due to automatic review settings July 31, 2026 17:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 64a497d0-90a3-4067-b01f-dd3b42a76cce

📥 Commits

Reviewing files that changed from the base of the PR and between af99fc5 and a3d601c.

📒 Files selected for processing (4)
  • .github/workflows/build_wheel.yml
  • .github/workflows/test_cc.yml
  • .github/workflows/test_cuda.yml
  • source/tests/consistent/common.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/test_cc.yml

📝 Walkthrough

Walkthrough

The workflows pin uv setup, limit download concurrency, allow Paddle matrix failures, and disable Paddle in CUDA CI. Backend validation now accepts missing Paddle when the CI override is enabled.

Changes

CI workflow updates

Layer / File(s) Summary
Wheel build environment
.github/workflows/build_wheel.yml
The workflow uses astral-sh/setup-uv@v9 with uv 0.12.0. It sets download concurrency to 8 on macOS and 50 elsewhere.
Paddle matrix failure policy
.github/workflows/test_cc.yml
Paddle-enabled matrix jobs allow failures, and matrix fail-fast is disabled.
CUDA Paddle configuration and validation
.github/workflows/test_cuda.yml, source/tests/consistent/common.py
CUDA CI disables Paddle, removes Paddle dependencies and runtime libraries, excludes Paddle Python tests, disables Paddle for C++ tests, and allows missing Paddle when DP_CI_ALLOW_MISSING_PADDLE is enabled.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: copilot, wanghan-iapcm

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: stabilizing CI workflows for optional backends.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
.github/workflows/build_wheel.yml (1)

59-61: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Pin astral-sh/setup-uv to an immutable commit.

version: "0.12.0" pins the uv binary, not the action implementation. Replace @v9 with the commit SHA for the intended release. The v9.0.0 documentation identifies c771a70e6277c0a99b617c7a806ffedaca235ff9 as its release commit. (github.com)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/build_wheel.yml around lines 59 - 61, Pin the
astral-sh/setup-uv action to the immutable v9.0.0 release commit
c771a70e6277c0a99b617c7a806ffedaca235ff9 instead of the mutable `@v9` reference,
while preserving the existing version input for the uv binary.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/build_wheel.yml:
- Around line 59-61: Update the setup-uv step using astral-sh/setup-uv@v9 to
explicitly set enable-cache to false, disabling implicit caching for the
untrusted build job while preserving the existing uv version configuration.

In @.github/workflows/test_cuda.yml:
- Around line 16-19: Add a workflow-level permissions block in the CUDA CI
workflow with only contents: read, ensuring it does not inherit broader token
scopes while leaving the existing DP_ENABLE_PADDLE environment setting
unchanged.

---

Nitpick comments:
In @.github/workflows/build_wheel.yml:
- Around line 59-61: Pin the astral-sh/setup-uv action to the immutable v9.0.0
release commit c771a70e6277c0a99b617c7a806ffedaca235ff9 instead of the mutable
`@v9` reference, while preserving the existing version input for the uv binary.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9011e8d8-6781-4e7d-8c70-9b8ce6b09ba6

📥 Commits

Reviewing files that changed from the base of the PR and between 9b2582f and f2ce3aa.

📒 Files selected for processing (3)
  • .github/workflows/build_wheel.yml
  • .github/workflows/test_cc.yml
  • .github/workflows/test_cuda.yml

Comment thread .github/workflows/build_wheel.yml Outdated
Comment thread .github/workflows/test_cuda.yml
@codecov

codecov Bot commented Jul 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.21%. Comparing base (cf3e6f1) to head (a3d601c).
⚠️ Report is 8 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5945      +/-   ##
==========================================
- Coverage   79.41%   79.21%   -0.20%     
==========================================
  Files        1071     1072       +1     
  Lines      124844   125041     +197     
  Branches     4531     4540       +9     
==========================================
- Hits        99144    99056      -88     
- Misses      24079    24360     +281     
- Partials     1621     1625       +4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@njzjz
njzjz added this pull request to the merge queue Aug 1, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 1, 2026
Allow Paddle-only C++ matrix entries to fail without cancelling other jobs, temporarily disable Paddle in CUDA CI, and reduce macOS wheel dependency download pressure with setup-uv.

Coding-Agent: Codex
Codex-Version: codex-cli 0.144.6
Model: gpt-5.6-sol
Reasoning-Effort: xhigh
@njzjz
njzjz force-pushed the ci/stabilize-optional-workflows branch from af99fc5 to a3d601c Compare August 1, 2026 07:45
Copilot AI review requested due to automatic review settings August 1, 2026 07:45
@github-actions github-actions Bot added the Python label Aug 1, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

Suppressed comments (1)

source/tests/consistent/common.py:76

  • The ImportError message no longer matches the CI gate condition: the logic requires TensorFlow and PyTorch to be available, and Paddle only if it’s installed or DP_CI_ALLOW_MISSING_PADDLE=1. With the new allow-missing switch, the current message (“TensorFlow, PyTorch or Paddle…”) is misleading during CI failures and makes debugging harder.
    and not (
        INSTALLED_TF and INSTALLED_PT and (INSTALLED_PD or CI_ALLOW_MISSING_PADDLE)
    )
):
    raise ImportError("TensorFlow, PyTorch or Paddle should be tested in the CI")

@njzjz
njzjz enabled auto-merge August 1, 2026 07:49
@njzjz
njzjz added this pull request to the merge queue Aug 1, 2026
Merged via the queue into deepmodeling:master with commit f573ca0 Aug 1, 2026
61 of 63 checks passed
@njzjz
njzjz deleted the ci/stabilize-optional-workflows branch August 1, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants