1
orvice 2016-04-11 12:24:04 +08:00
确实是。。
前天跑个 phpunit 本地和 ci 跑的结果不一样... |
2
denghongcai 2016-04-11 13:08:54 +08:00
最近我的项目还出现了明明看 build matrix 的详情都是通过的,但是最终还是报了 fail , true && true == false
|
3
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 背. |
4
janxin 2016-04-11 13:56:19 +08:00
怪 CI 确实不应该啊
|
5
matsuijurina 2016-04-11 14:07:58 +08:00
Travis CI 支持 docker ,如果担心有些奇奇怪怪的环境依赖问题导致测试结果和本地不一致,可以自己 build 一个 docker 容器传到 docker hub ,再用 Travis CI 来拉取这个容器跑测试。
|
6
timonwong 2016-04-11 14:12:39 +08:00
|
7
guyskk OP @glasslion @janxin
这 6 个 不同 Python 环境里,最后一个是一定有 python3.5 环境的,我看了执行过程记录里面也运行了 python3.5 测试,另外 python3.4 也应该测试不通过的, travis 记录里面也运行了 python3.4 的测试,但它就是通过了。 配置文件我是参考的 https://github.com/pallets/flask/blob/master/.travis.yml ,它也用的 tox ,没有指定 TOXENV 。 |
8
tinyproxy 2016-04-11 19:17:16 +08:00 1
我之前最奇葩的是 pod install 时, umeng 一个资源放国内被 GFW 干了,用个第三方的 CI 还得自己搭建一个 proxy server ,这你敢信?
|
9
glasslion 2016-04-11 19:50:41 +08:00 1
@guyskk Flask 使用了 `tox -e`.
Python3.5 的报错是因为 Python3.5 里 namedtuple 有 __dict__ 而 Python 3.5.1 没有 http://bugs.python.org/issue24931 |
11
damngoto 2016-04-12 10:09:15 +08:00
@janxin 没什么不应该的,事实上没哪个 CI 不坑的.
我用 semaphoreci 也出现过不管 mac,windows,linxu 都没问题,一放到 CI 上就有个地方死活跑不过. 最后只能加环境变量放过. |
12
janxin 2016-04-12 10:19:50 +08:00
@damngoto 一般都是环境问题吧,我现在很多东西跑过 CI 都没什么问题,先检查为什么不过吧。有时候很多都是配置和环境依赖问题。
当然有些是 Docker 的问题另说。 |