Skip to content

CI: run Test C++ workflow on self-hosted runner#5863

Open
njzjz wants to merge 5 commits into
deepmodeling:masterfrom
njzjz:test-cc-self-hosted
Open

CI: run Test C++ workflow on self-hosted runner#5863
njzjz wants to merge 5 commits into
deepmodeling:masterfrom
njzjz:test-cc-self-hosted

Conversation

@njzjz

@njzjz njzjz commented Jul 19, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Chores
    • Updated the automated testing workflow to select the runner conditionally for the testcc job.
    • Added an explicit “Install GCC” step (including build tools) to improve build reliability.

njzjz and others added 3 commits July 19, 2026 13:19
Signed-off-by: Jinzhe Zeng <jinzhe.zeng@ustc.edu.cn>
Signed-off-by: Jinzhe Zeng <jinzhe.zeng@ustc.edu.cn>
Coding-Agent: Codex
Codex-Version: codex-cli 0.144.4
Model: gpt-5.6-sol
Reasoning-Effort: xhigh
Signed-off-by: njzjz-bot <njzjz.bot@gmail.com>
@njzjz
njzjz marked this pull request as ready for review July 19, 2026 13:23
@dosubot dosubot Bot added the build label Jul 19, 2026
@coderabbitai

coderabbitai Bot commented Jul 19, 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

Run ID: 200577ba-204d-4d57-a8b4-ba3fadcf492a

📥 Commits

Reviewing files that changed from the base of the PR and between 0638cbd and 6f4cbcf.

📒 Files selected for processing (1)
  • .github/workflows/test_cc.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/test_cc.yml

📝 Walkthrough

Walkthrough

The testcc GitHub Actions job conditionally uses the cpu runner for eligible deepmodeling runs and installs GCC build tools before dependency setup.

Changes

CI runner setup

Layer / File(s) Summary
testcc runner and compiler provisioning
.github/workflows/test_cc.yml
The testcc job conditionally selects the cpu runner and installs build-essential for non-memory-leak runs owned by deepmodeling; other runs use ubuntu-22.04.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 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 matches the main change: moving the Test C++ workflow to a self-hosted runner.
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.

@njzjz
njzjz marked this pull request as draft July 19, 2026 14:18
@codecov

codecov Bot commented Jul 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.46%. Comparing base (de79373) to head (6f4cbcf).
⚠️ Report is 3 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5863      +/-   ##
==========================================
- Coverage   78.67%   78.46%   -0.21%     
==========================================
  Files        1053     1053              
  Lines      120917   121054     +137     
  Branches     4381     4386       +5     
==========================================
- Hits        95131    94988     -143     
- Misses      24235    24510     +275     
- Partials     1551     1556       +5     

☔ 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.

Coding-Agent: Codex
Codex-Version: codex-cli 0.144.4
Model: gpt-5.6-sol
Reasoning-Effort: xhigh
Signed-off-by: njzjz-bot <njzjz.bot@gmail.com>
@njzjz-bot

Copy link
Copy Markdown
Contributor

CI timing update (measured at 2026-07-19 15:06:34 UTC):

Matrix (check_memleak, TF, PT, Paddle) Previous all-self-hosted run Previous hosted baseline Current hybrid run
(true, true, true, false) Superseded/cancelled after 2h01m11s; C++ step was still running after 1h53m03s Passed in 1h08m10s; C++ step 1h02m17s ubuntu-22.04, running 7m32s; C++ step 1m51s
(true, false, false, true) Superseded/cancelled after 2h01m10s; C++ step was still running after 1h53m08s Passed in 10m17s; C++ step 4m01s ubuntu-22.04, running 7m32s; C++ step 2m01s
(false, true, true, false) Passed in 1h14m24s; C++ step 55m57s Passed in 1h05m24s; C++ step 51m41s cpu, queued for 7m35s while the single CPU runner slot is occupied
(false, false, false, true) Passed in 14m39s; C++ step 5m01s Passed in 10m41s; C++ step 3m07s cpu, running 7m21s; C++ step 1m06s

The regular self-hosted jobs completed, although they were slower than the hosted baseline. The two LeakSanitizer jobs remained in the C++ step for nearly two hours, far beyond their hosted baselines. The current workflow therefore keeps LeakSanitizer jobs on ubuntu-22.04 and runs the regular jobs on cpu. Runner placement and setup are working in the current run.

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

Coding-Agent: Codex
Codex-Version: codex-cli 0.144.4
Model: gpt-5.6-sol
Reasoning-Effort: xhigh
Signed-off-by: njzjz-bot <njzjz.bot@gmail.com>
@njzjz-bot

njzjz-bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Final CI timing comparison against master:

Matrix (check_memleak, TF, PT, Paddle) Master PR Difference
(true, true, true, false) 1h13m49s, hosted 1h05m04s, hosted -8m45s
(true, false, false, true) 10m11s, hosted 9m05s, hosted -1m06s
(false, true, true, false) 1h01m40s, hosted 1h12m52s, self-hosted +11m12s
(false, false, false, true) 8m48s, hosted 11m18s, self-hosted +2m30s

Summary:

  • End-to-end workflow time changed from 1h14m52s on master to 1h28m05s on the PR: +13m13s (+17.7%).
  • Summed GitHub-hosted matrix-job time changed from 2h34m28s to 1h14m09s: -1h20m19s (-52.0%).
  • For the two jobs moved to self-hosted runners, the C++ step changed from 47m10s to 55m48s for TF/PT (+8m38s) and from 2m28s to 3m23s for Paddle (+55s).
  • The final configuration therefore trades about 13 minutes of end-to-end latency for approximately half the GitHub-hosted runner usage, while keeping check_memleak=true on the stable hosted environment.

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

@njzjz
njzjz marked this pull request as ready for review July 19, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants