taichi-dev / taichi

Productive, portable, and performant GPU programming in Python.
https://taichi-lang.org
Apache License 2.0
25.56k stars 2.29k forks source link

CI/CD Pipeline Overhaul 2022 #6445

Open feisuzhu opened 2 years ago

feisuzhu commented 2 years ago

This is an on-going work primarily to reduce CI/CD build time and improve maintainability. Discussions and feature requests are welcome.

The status quo

Buildbots

2022-10-26-183022_934x857_scrot

Pipeline

2022-10-26-183127_1269x601_scrot

无标题-2022-10-26-1844

Problems

Code & logic duplication

Slow build

Latency !

2022-10-27-113656_1321x329_scrot

Wasted cycles & bandwidth on same things

Buildbot cluster of a low capacity

Under-utilized buildbot cluster

Strong coupling with GitHub Actions

Non-reproducible building environment (partially addressed)

Minor mess

Proposed changes

无标题-2022-10-27-1002 excalidraw

Go distributed

Miscellaneous

Non-goals

Virtualization &&/|| Kubernetes integration

imcom commented 2 years ago

Dapper now provides Go SDK, dev may use Go to describe its CICD

feisuzhu commented 2 years ago

According to the document, containerization w/ GPU on Windows is non-feasible now(requires CUDA & OpenGL). Moving all workloads to bare metal on Windows. 2022-11-07-143143_646x355_scrot