You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Foundry代码仓库CI检查超时问题及延长超时时长

关于Foundry代码仓库CI超时问题的解决方案

一、如何防止CI检查出现超时错误

  • 优化测试用例
    • 拆分大型测试用例,避免单个测试执行时间过长;
    • 针对CI场景,跳过本地已充分验证的集成/端到端测试,仅运行核心单元测试;
    • 使用Foundry的--match(匹配测试名称)或--match-path(匹配测试文件路径)参数,只执行变更代码相关的测试。
  • 优化Foundry执行配置
    • 启用并行测试,在CI命令中添加--parallel参数,利用多核心加速测试;
    • 调整fork测试的区块高度,通过--fork-block-number指定较近的区块,减少历史数据同步时间;
    • 若CI流程中已有单独的构建步骤,在测试命令中添加--no-build跳过重复构建。
  • 优化CI环境与流程
    • 选择更高配置的CI runner实例(如增加CPU核心、内存);
    • 配置缓存策略,缓存Foundry的lib依赖目录和构建产物,避免重复下载与编译;
    • 合并冗余的CI步骤,移除不必要的前置/后置操作,采用增量构建仅处理变更代码。

二、如何延长CI检查的超时时长

不同CI平台的配置方式不同,以下是主流平台的设置方法:

  • GitHub Actions
    在工作流的job节点中添加timeout-minutes字段,调整为所需时长(公开仓库最大支持60分钟):
    jobs:
      foundry-test:
        runs-on: ubuntu-latest
        timeout-minutes: 30  # 自定义超时分钟数
        steps:
          - uses: actions/checkout@v4
          - name: Install Foundry
            run: curl -L https://foundry.paradigm.xyz | bash && foundryup
          - name: Run tests
            run: forge test
    
  • GitLab CI
    在.gitlab-ci.yml的对应任务中设置timeout属性,支持秒(s)、分(m)、时(h)单位(项目级最大时长需管理员配置):
    foundry-test:
      script:
        - curl -L https://foundry.paradigm.xyz | bash && foundryup
        - forge test
      timeout: 30m  # 自定义超时时长
    
  • 其他CI平台
    参考对应平台的官方文档,找到任务级或项目级的超时配置项,直接调整数值即可。

内容的提问来源于stack exchange,提问作者Max Magid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 08:02:23