SiliconCompiler workflow

张开发
2026/4/30 14:16:09 15 分钟阅读

分享文章

SiliconCompiler workflow
文章目录它和你现在做的 CI/CD 有什么关系-1 这个项目的目录2 .github/workflows/(GitHub Actions CI/CD 配置)3 它有哪些 workflow4 daily_ci.yml 重点是什么5 python_ci.yml 又是什么-2 SiliconCompiler CI/CD 分层设计为什么要分这么多 CI每一层是干什么的python_ci.yml快速 CIdaily_ci.yml每日 CIdocker_image.yml环境构建tools_ci.yml工具验证lint.yml代码规范wheels.yml发布-3 SiliconCompiler CI 分为两类1. 快速 CI每次提交2. 慢速 CI定时SiliconCompiler 是一个开源的模块化硬件构建系统。SiliconCompiler 用 Python 统一调度各种 EDA 工具把芯片/硬件设计流程自动化的开源框架。它和你现在做的 CI/CD 有什么关系我现在做的Gitee Go Demo是提交代码 → 运行 Python 脚本 → 上传制品 → 发布SiliconCompiler 做的是更复杂的提交硬件/EDA代码 → 安装依赖 → 多系统、多 Python 版本测试 → 调用 EDA/仿真工具 → 跑测试集 → 跑设计案例 → 保存日志、覆盖率、artifact-1 这个项目的目录siliconcompiler/ 项目核心源码 tests/ 自动化测试代码 examples/ 示例设计/示例项目 docs/ 文档 .github/workflows/ GitHub Actions CI/CD 配置 pyproject.toml Python 项目配置2 .github/workflows/(GitHub Actions CI/CD 配置)3 它有哪些 workflowSiliconCompiler 不是只有一条 CI而是把不同目的拆成多条 workflow快速测试、每日测试、工具测试、镜像构建、代码检查、发布构建。4 daily_ci.yml 重点是什么这个 daily_ci.yml 名字叫 Daily CI Tests。它有三种触发方式手动触发、被其他 workflow 调用、定时触发定时规则是每天运行一次。它的结构如下Daily CI Tests ├── docker_image │ └── 准备工具容器 ├── cache │ └── 安装依赖、生成缓存、上传 artifact ├── daily_tests_job │ └── 多 Python 版本运行完整测试 └── gallery └── 跑设计样例/benchmark优点5 python_ci.yml 又是什么python_ci.yml 更像普通项目里的基础 CI。它在 push 到 main 或 test/** 分支、Pull Request、手动触发时运行。它会在多个 Python 版本和多个操作系统上测试包括 Ubuntu、Windows、macOS并运行 pytest。python_ci.yml 快速基础验证 daily_ci.yml 每日完整验证-2 SiliconCompiler CI/CD 分层设计SiliconCompiler 的 CI 不是一条流水线而是CI/CD 体系多层 ├── 快速 CIpython_ci.yml ├── 每日 CIdaily_ci.yml ├── 工具链 CItools_ci.yml ├── 环境构建docker_image.yml ├── 代码规范lint.yml └── 发布 CIwheels.yml不同目的 → 不同 workflow为什么要分这么多 CI我现在的 Demo 是一条流水线 → 做所有事每一层是干什么的python_ci.yml快速 CI每次提交 / PR → 快速验证daily_ci.yml每日 CI每天跑一次“完整验证”不是每次提交都跑docker_image.yml环境构建构建运行环境工具链很重要因为EDA / 算法 → 依赖复杂环境tools_ci.yml工具验证验证工具是否正常lint.yml代码规范检查代码风格wheels.yml发布打包 发布 Python 包-3 SiliconCompiler CI 分为两类1. 快速 CI每次提交python_ci.yml快速反馈2. 慢速 CI定时daily_ci.yml深度验证

更多文章