-
Run CI on self-hosted runners (#9540)
发布于
2026-06-17 19:11:32 +00:00 | 76 次提交 在此版本后已推送到 master- Run CI on self-hosted runners
Switch all GitHub Actions workflows from the GitHub-hosted ubuntu-24.04
runners to self-hosted runners. The Benchmarks workflow targets a runner
with the dedicated 'benchmark' label so benchmarking only runs on that
machine.Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
- Guard disk cleanup to GitHub-hosted runners, mount benchmark data read-only
Skip the 'Liberate disk space' step on self-hosted runners (only run it on
github-hosted ones) and mount the benchmark /nas:/Data volume read-only.Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
- Run workflows directly inside foundation container
Self-hosted runners are not allowed to run docker, so the docker
run/exec (runInContainer) pattern fails. Run every workflow directly
inside a job-level container: quantconnect/lean:foundation, matching the
benchmarks workflow. Drops the Liberate disk space, docker helper and
Start container steps; secrets are passed via the container env.Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
- Cancel in-progress runs on new branch commits
Add a concurrency group keyed to workflow + ref with cancel-in-progress so
pushing a new commit to a branch cancels the still-running workflow for the
previous commit. Applied to all CI/test workflows; rebase-org-branches is
left untouched to avoid cancelling a rebase mid-push.Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
- Fix dotnet tools PATH in research workflow
Inside a job-level container GitHub sets HOME=/github/home, so the global
tool installs to $HOME/.dotnet/tools, not /root/.dotnet/tools. Use $HOME so
dotnet-interactive is found and 'dotnet interactive jupyter install' works.Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
- Make stub-generation check POSIX-sh compatible
The container steps run under sh, where bash-only is unavailable.
Rewrite the tag/stub-generation gate as a POSIX case + [ ] test so it
behaves correctly on tag builds instead of silently being skipped.Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
- Cap CI containers to 12 CPUs and 12g RAM
Add docker options (--cpus 12 --memory 12g) to every workflow container so
jobs running on high-core self-hosted hosts can't monopolize resources.
Limits are per container, so concurrent jobs each get their own allotment.Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Co-authored-by: Claude Opus 4.8 (1M context) noreply@anthropic.com
下载附件