travis-ci 不靠谱啊

2016-04-11 11:41:14 +08:00
 guyskk

我用 travis-ci.org 对我的项目做持续集成测试,结果有个 bug 没测出来,后来还是自己找出来的。

travis-ci 的测试

自己运行的测试(版本号: 5efaedf )

4731 次点击
所在节点    程序员
12 条回复
orvice
2016-04-11 12:24:04 +08:00
确实是。。

前天跑个 phpunit 本地和 ci 跑的结果不一样...
denghongcai
2016-04-11 13:08:54 +08:00
最近我的项目还出现了明明看 build matrix 的详情都是通过的,但是最终还是报了 fail , true && true == false
glasslion
2016-04-11 13:28:09 +08:00
测试不对居然怪 CI, 我也是醉了

travis matrix 和 tox 是一类,两者混用肯定出问题.
```
python:
- "2.6"
- "2.7"
- "pypy"
- "3.3"
- "3.4"
- "3.5"
```

会生成 6 个 不同 Python 环境, 而不是把六种不同的 Python 塞到同一个 环境里.

你自己贴的图里 是在 Python 3.5 下测试没通过. 而 travis 那边 tox 是报了 "ERROR: InterpreterNotFound: python3.5", 但返回值又是 0. 真要背锅的话也应该是让 tox 背.
janxin
2016-04-11 13:56:19 +08:00
怪 CI 确实不应该啊
matsuijurina
2016-04-11 14:07:58 +08:00
Travis CI 支持 docker ,如果担心有些奇奇怪怪的环境依赖问题导致测试结果和本地不一致,可以自己 build 一个 docker 容器传到 docker hub ,再用 Travis CI 来拉取这个容器跑测试。
timonwong
2016-04-11 14:12:39 +08:00
tox 和 travis matrix 混用可以,不过要指定 TOXENV

https://github.com/owais/django-webpack-loader/pull/44/files
guyskk
2016-04-11 19:01:06 +08:00
@glasslion @janxin
这 6 个 不同 Python 环境里,最后一个是一定有 python3.5 环境的,我看了执行过程记录里面也运行了 python3.5 测试,另外 python3.4 也应该测试不通过的, travis 记录里面也运行了 python3.4 的测试,但它就是通过了。

配置文件我是参考的 https://github.com/pallets/flask/blob/master/.travis.yml ,它也用的 tox ,没有指定 TOXENV 。
tinyproxy
2016-04-11 19:17:16 +08:00
我之前最奇葩的是 pod install 时, umeng 一个资源放国内被 GFW 干了,用个第三方的 CI 还得自己搭建一个 proxy server ,这你敢信?
glasslion
2016-04-11 19:50:41 +08:00
@guyskk Flask 使用了 `tox -e`.

Python3.5 的报错是因为 Python3.5 里 namedtuple 有 __dict__ 而 Python 3.5.1 没有 http://bugs.python.org/issue24931
guyskk
2016-04-11 20:02:20 +08:00
@glasslion
thanks
damngoto
2016-04-12 10:09:15 +08:00
@janxin 没什么不应该的,事实上没哪个 CI 不坑的.
我用 semaphoreci 也出现过不管 mac,windows,linxu 都没问题,一放到 CI 上就有个地方死活跑不过.
最后只能加环境变量放过.
janxin
2016-04-12 10:19:50 +08:00
@damngoto 一般都是环境问题吧,我现在很多东西跑过 CI 都没什么问题,先检查为什么不过吧。有时候很多都是配置和环境依赖问题。
当然有些是 Docker 的问题另说。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/270105

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX