jsk_travis's People
Forkers
snozawa mmurooka garaemon k-okada eisoku9618 inabajsk wkentaro furushchev gitter-badger yoheikakiuchi trigrass2 jonazpiazu priyablue knorth55 iory yutouchimi ishigurojsk pazeshun hcc-118 yasu31 naoki-hiraoka mqcmd196jsk_travis's Issues
Add option to stop test when fails on rosdep install
Why?
Now we use rosdep install with -r
option, it ignores all errors while resolving dependencies.
This is not good for fast developing, because when we have error while testing we need firstly check no error while rosdep install, and then check the manifest on package.xml.
rosdep install should be a test to validate the change in package.xml, but it's not currently.
How?
Add following env to travis.sh
TEST_ROSDEP_INSTALL
, default:false
: if true rosdep install runs without-r
option.ROSDEP_SKIP_KEYS_OPT
, default:""
: skip keys will be passed with--skip-keys
Possible Problem
Need to deal with unreleased packages at each os we are testing on.
Solution for above Possible Problem
We can skip unreleased packages by --skip-keys
like
rosdep install jsk_tools -i --skip-keys=rosemacs-el
Cache apt-packages of dockers
We can use apt-cacher-ng to speedup apt-get.
Use docker on travis
we should use this feature by adding sudo: false
http://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/
Builds start in seconds
Rather than wait for builds to start for a long time, your builds now start in less than 10 seconds. Assuming that capacity is available (which is now a lot easier for us to scale), you'll see your builds going from being scheduled to starting in only a few seconds.
Faster builds
We've been helping projects move over to this new stack, and we've seen much better build times for most of them. The mileage may still vary based on how heavy your builds are on I/O, but most projects should see an improvement. We'd love to hear from your if you don't or if you see slower build times.
recent catkin_pkg not working with catkin_make
�]2;[build] 2/7�++rospack find rtmbuild �[0m�[0m
�]2;[build] 2/7�+'[' -e /home/travis/ros/ws_rtmros_common/src/rtmros_common/rtmbuild/build ']' �[0m�[0m
�]2;[build] 2/7�+cd /tmp/test_compile_idl �[0m�[0m
�]2;[build] 2/7�+catkin_make �[0m�[0m
�]2;[build] 2/7�ImportError: "from catkin_pkg.topological_order import topological_order" failed: No module named tool_detection �[0m�[0m
�]2;[build] 2/7�Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH. �[0m�[0m
Use jenkins.jsk for hydro
jsk_pcl_ros takes a lot of time to compile on travis, I'd like to use jenkins. Is it possible?
need to remove old files in jenkins automatically
また容量足りなくなっています。
どこを削除すればよいのでしょうか?
Reduce output of travis test
Travis tests fail because of many reason.
One of the reason is max output limitation:
The log length has exceeded the limit of 4 Megabytes (this usually means that test suite is raising the same exception over and over).
For example,
https://s3.amazonaws.com/archive.travis-ci.org/jobs/34267621/log.txt
I'd like to reduce these output to improve success ratio.
In the above example, apt-get
log consumes 8% of max length.
If USE_DEB=false
, dependent packages' build log is not negligible (I did not measure it).
'RosPack' object has no attribute 'get_custom_cache'
https://travis-ci.org/jsk-ros-pkg/jsk_common/jobs/85478946
rostest log file is in /workspace/jsk-ros-pkg/jsk_common/log/rostest-ed647aac93fe-25923.log
install/share/jsk_topic_tools/test/test_topic_buffer_update_rate.test
... logging to /workspace/jsk-ros-pkg/jsk_common/log/rostest-ed647aac93fe-26037.log
Traceback (most recent call last):
File "/opt/ros/indigo/bin/rostest", line 36, in <module>
rostestmain()
File "/opt/ros/indigo/lib/python2.7/dist-packages/rostest/__init__.py", line 268, in rostestmain
_main()
File "/opt/ros/indigo/lib/python2.7/dist-packages/rostest/rostest_main.py", line 159, in rostestmain
testCase = rostest.runner.createUnitTest(pkg, test_file, options.reuse_master, options.clear, options.results_base_dir)
File "/opt/ros/indigo/lib/python2.7/dist-packages/rostest/runner.py", line 229, in createUnitTest
config = roslaunch.parent.load_config_default([test_file], None)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/config.py", line 451, in load_config_default
loader.load(f, config, verbose=verbose)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 730, in load
self._load_launch(launch, ros_config, is_core=core, filename=filename, argv=argv, verbose=verbose)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 702, in _load_launch
self._recurse_load(ros_config, launch.childNodes, self.root_context, None, is_core, verbose)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 666, in _recurse_load
val = self._include_tag(tag, context, ros_config, default_machine, is_core, verbose)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
return f(*args, **kwds)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 587, in _include_tag
inc_filename = self.resolve_args(tag.attributes['file'].value, context)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 183, in resolve_args
return substitution_args.resolve_args(args, context=context.resolve_dict, resolve_anon=self.resolve_anon)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 312, in resolve_args
resolved = _resolve_args(resolved, context, resolve_anon, commands)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 325, in _resolve_args
resolved = commands[command](resolved, a, args, context)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 137, in _find
source_path_to_packages = rp.get_custom_cache('source_path_to_packages', {})
AttributeError: 'RosPack' object has no attribute 'get_custom_cache'
install/share/jsk_topic_tools/test/test_topic_buffer_fixed_rate.test
... logging to /workspace/jsk-ros-pkg/jsk_common/log/rostest-ed647aac93fe-26043.log
Traceback (most recent call last):
File "/opt/ros/indigo/bin/rostest", line 36, in <module>
rostestmain()
File "/opt/ros/indigo/lib/python2.7/dist-packages/rostest/__init__.py", line 268, in rostestmain
_main()
File "/opt/ros/indigo/lib/python2.7/dist-packages/rostest/rostest_main.py", line 159, in rostestmain
testCase = rostest.runner.createUnitTest(pkg, test_file, options.reuse_master, options.clear, options.results_base_dir)
File "/opt/ros/indigo/lib/python2.7/dist-packages/rostest/runner.py", line 229, in createUnitTest
config = roslaunch.parent.load_config_default([test_file], None)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/config.py", line 451, in load_config_default
loader.load(f, config, verbose=verbose)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 730, in load
self._load_launch(launch, ros_config, is_core=core, filename=filename, argv=argv, verbose=verbose)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 702, in _load_launch
self._recurse_load(ros_config, launch.childNodes, self.root_context, None, is_core, verbose)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 666, in _recurse_load
val = self._include_tag(tag, context, ros_config, default_machine, is_core, verbose)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
return f(*args, **kwds)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 587, in _include_tag
inc_filename = self.resolve_args(tag.attributes['file'].value, context)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 183, in resolve_args
return substitution_args.resolve_args(args, context=context.resolve_dict, resolve_anon=self.resolve_anon)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 312, in resolve_args
resolved = _resolve_args(resolved, context, resolve_anon, commands)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 325, in _resolve_args
resolved = commands[command](resolved, a, args, context)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 137, in _find
source_path_to_packages = rp.get_custom_cache('source_path_to_packages', {})
AttributeError: 'RosPack' object has no attribute 'get_custom_cache'
Pretty output of test failure which is good for contributors to view
suggested at jsk-ros-pkg/jsk_recognition#1192 (comment)
- Highlight test failed line (maybe after seeing exit code)
- Summarize each package build (with
--summarize
option)
jenkins.jsk is down
$ ping -c 1 jenkins.jsk.imi.i.u-tokyo.ac.jp
PING jenkins.jsk.imi.i.u-tokyo.ac.jp (133.11.216.230) 56(84) bytes of data.
--- jenkins.jsk.imi.i.u-tokyo.ac.jp ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
rosdep-install.sh fails: /bin/bash: line 75: [: missing `]'
I don't know why it fails.
+ '[' -e '/workspace/jsk-ros-pkg/jsk_common/.travis/rosdep-install.sh]'
/bin/bash: line 75: [: missing `]'
+ wget http://raw.github.com/jsk-ros-pkg/jsk_travis/master/rosdep-install.sh -O -
+ bash
--2015-12-07 11:44:56-- http://raw.github.com/jsk-ros-pkg/jsk_travis/master/rosdep-install.sh
Resolving raw.github.com (raw.github.com)... 103.245.222.133
Connecting to raw.github.com (raw.github.com)|103.245.222.133|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://raw.github.com/jsk-ros-pkg/jsk_travis/master/rosdep-install.sh [following]
--2015-12-07 11:44:56-- https://raw.github.com/jsk-ros-pkg/jsk_travis/master/rosdep-install.sh
Connecting to raw.github.com (raw.github.com)|103.245.222.133|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://raw.githubusercontent.com/jsk-ros-pkg/jsk_travis/master/rosdep-install.sh [following]
--2015-12-07 11:44:57-- https://raw.githubusercontent.com/jsk-ros-pkg/jsk_travis/master/rosdep-install.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 103.245.222.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|103.245.222.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 648 [text/plain]
Saving to: 'STDOUT'
0% [ ] 0 --.-K/s
100%[======================================>] 648 --.-K/s in 0s
2015-12-07 11:44:58 (114 MB/s) - written to stdout [648/648]
ERROR: Rosdep experienced an internal error.
Please go to the rosdep page [1] and file a bug report with the message below.
[1] : http://www.ros.org/wiki/rosdep
rosdep version: 0.11.4
Bad installer [pip]: [Errno 2] No such file or directory
remove meta package
removing build_depdns from metapackage increase chance of compile wrror (because of COPY problem?) , so may be better to remove metapackage before compile.
So far, I haven't find a way to get a list of metapackges so maybe beter to use shell scirpt to find them.
jsk-ros-pkg/jsk_roseus#347
What is NO_SUDO for?
There is NO_SUDO section,
https://github.com/jsk-ros-pkg/jsk_travis/blob/master/travis.sh#L27
but not in other lines...
https://github.com/jsk-ros-pkg/jsk_travis/blob/master/travis.sh#L66
With --no-deps, you must specify packages to build.
+ '[' indigo == hydro ']'
+ '[' catkin == catkin ']'
+ catkin run_tests --no-deps --limit-status-rate 0.001 -p1 --make-args -j1 --
==> Expanding alias 'run_tests' from 'catkin run_tests --no-deps --limit-status-rate 0.001 -p1 --make-args -j1 --' to 'catkin build --verbose --catkin-make-args run_tests -- --no-deps --limit-status-rate 0.001 -p1 --make-args -j1 --'
With --no-deps, you must specify packages to build.
++ error
++ travis_time_end 31
++ set +x
jenkins problem: file COPY cannot set modification time
[jsk_recognition_msgs] CMake Error at /opt/ros/indigo/share/catkin/cmake/catkin_add_env_hooks.cmake:91 (file):
[jsk_recognition_msgs] file COPY cannot set modification time on
[jsk_recognition_msgs] "/workspace/ros/ws_jsk_recognition/devel/etc/catkin/profile.d/05.catkin_make.bash"
[jsk_recognition_msgs] Call Stack (most recent call first):
[jsk_recognition_msgs] /opt/ros/indigo/share/catkin/cmake/all.cmake:198 (catkin_add_env_hooks)
[jsk_recognition_msgs] /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:20 (include)
[jsk_recognition_msgs] CMakeLists.txt:3 (find_package)
Use ccache to compile on jenkins
It may speed-up compilation drastically but we need to share cache directory across different docker containers
jenkins problem: Impossible to remove a running container, please stop it first or use -f
docker problem?
Error: Impossible to remove a running container, please stop it first or use -f
Error: Impossible to remove a running container, please stop it first or use -f
Error: Impossible to remove a running container, please stop it first or use -f
Error: Impossible to remove a running container, please stop it first or use -f
Error: Impossible to remove a running container, please stop it first or use -f
Error: Impossible to remove a running container, please stop it first or use -f
Error: Impossible to remove a running container, please stop it first or use -f
Error: Impossible to remove a running container, please stop it first or use -f
Error: Impossible to remove a running container, please stop it first or use -f
2015/02/01 20:15:20 Error: failed to remove one or more containers
current travis indigo test fails to run for non-pullrequest commits
Cleanup docker containers
/export/data2/docker/containers
directory occupies 200GB.
Install scikit-image and dlib on docker image
@k-okada Could you install following pip packages on docker images?
- scikit-image
- dlib
jsk_recognition test wastes most of the time to install pip packages.
Allow multiple jobs on one project in jenkins
Now jenkins looks it only runs one job per one project.
I'd like to run multiple testing per one project
Use apt-cacher-ng to cache apt-get packages
http://docs.docker.com/engine/examples/apt-cacher-ng/
http://qiita.com/hyotan/items/a17fa1bbb7c202590f70
It may skip downloading deb packages.
Failed to checkout pull request commit on jenkins
TRAVIS_COMMIT
environmental variable may not be correct.
According to the output of travis.ci, travis.ci executes:
git clone git://github.com/jsk-ros-pkg/jsk_common.git jsk-ros-pkg/jsk_common
cd jsk-ros-pkg/jsk_common
git fetch origin +refs/pull/579/merge
git checkout -qf FETCH_HEAD
The number 579
is available as TRAVIS_PULL_REQUEST
.
So we should run jenkins like following rather than use TRAVIS_COMMIT
git clone git://github.com/${TRAVIS_REPO_SLUG}.git ${TRAVIS_REPO_SLUG}
cd ${TRAVIS_REPO_SLUG}
git fetch origin +refs/pull/${TRAVIS_PULL_REQUEST}/merge
git checkout -qf FETCH_HEAD
build non-apt dependencies
In case that test packages are depend on some packages which is not released on apt, how we should append and build them on test?
Curious behaviours on travis of hrpsys_ros_bridge_tutorials
There are curious behaviours on travis of hrpsys_ros_bridge_tutorials.
- rostest fails but travis says succes.
In https://travis-ci.org/start-jsk/rtmros_tutorials/builds/77014742,
rostest fails but travis says succes. - Could not resolve
hrpsys_ros_bridge_tutorials
.
On rostest programs inhrpsys_ros_bridge_tutorials/test
,
they cannot resolve package namehrpsys_ros_bridge_tutorials
(https://s3.amazonaws.com/archive.travis-ci.org/jobs/77014750/log.txt):
�]2;[build] 1/5��[35m�[1mScanning dependencies of target _run_tests_hrpsys_ros_bridge_tutorials_rostest_test_samplerobot_hrpsys-ros-bridge_test.launch �[0m�[0m
�]2;[build] 1/5��[0m-- run_tests.py: execute commands �[0m�[0m
�]2;[build] 1/5� /opt/ros/hydro/share/rostest/cmake/../../../bin/rostest --pkgdir=/home/travis/ros/ws_rtmros_tutorials/src/rtmros_tutorials/hrpsys_ros_bridge_tutorials --package=hrpsys_ros_bridge_tutorials --results-filename test_samplerobot_hrpsys-ros-bridge_test.xml /home/travis/ros/ws_rtmros_tutorials/src/rtmros_tutorials/hrpsys_ros_bridge_tutorials/test/samplerobot_hrpsys-ros-bridge_test.launch �[0m�[0m
�]2;[build] 1/5��]2;[build] 1/5��]2;[build] 1/5�... logging to /home/travis/.ros/log/rostest-testing-worker-linux-08b40318-2-25201-linux-9-77014750-4825.log �[0m�[0m
�]2;[build] 1/5��]2;[build] 1/5��]2;[build] 1/5�Traceback (most recent call last): �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/share/rostest/cmake/../../../bin/rostest", line 53, in <module> �[0m�[0m
�]2;[build] 1/5� rostestmain() �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/rostest/__init__.py", line 268, in rostestmain �[0m�[0m
�]2;[build] 1/5� _main() �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/rostest/rostest_main.py", line 142, in rostestmain �[0m�[0m
�]2;[build] 1/5� testCase = rostest.runner.createUnitTest(pkg, test_file) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/rostest/runner.py", line 227, in createUnitTest �[0m�[0m
�]2;[build] 1/5� config = roslaunch.parent.load_config_default([test_file], _DEFAULT_TEST_PORT) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/roslaunch/config.py", line 428, in load_config_default �[0m�[0m
�]2;[build] 1/5� loader.load(f, config, verbose=verbose) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 698, in load �[0m�[0m
�]2;[build] 1/5� self._load_launch(launch, ros_config, is_core=core, filename=filename, argv=argv, verbose=verbose) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 670, in _load_launch �[0m�[0m
�]2;[build] 1/5� self._recurse_load(ros_config, launch.childNodes, self.root_context, None, is_core, verbose) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 634, in _recurse_load �[0m�[0m
�]2;[build] 1/5� val = self._include_tag(tag, context, ros_config, default_machine, is_core, verbose) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call �[0m�[0m
�]2;[build] 1/5� return f(*args, **kwds) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 553, in _include_tag �[0m�[0m
�]2;[build] 1/5� inc_filename = self.resolve_args(tag.attributes['file'].value, context) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 159, in resolve_args �[0m�[0m
�]2;[build] 1/5� return substitution_args.resolve_args(args, context=context.resolve_dict, resolve_anon=self.resolve_anon) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 299, in resolve_args �[0m�[0m
�]2;[build] 1/5� resolved = _resolve_args(resolved, context, resolve_anon, commands) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 312, in _resolve_args �[0m�[0m
�]2;[build] 1/5� resolved = commands[command](resolved, a, args, context) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 137, in _find �[0m�[0m
�]2;[build] 1/5� return _find_executable(resolve_without_path, a, [args[0], path], context) �[0m�[0m
�]2;[build] 1/5� File "/opt/ros/hydro/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 173, in _find_executable �[0m�[0m
�]2;[build] 1/5� full_path = _get_executable_path(rp.get_path(args[0]), path) �[0m�[0m
�]2;[build] 1/5� File "/usr/lib/python2.7/dist-packages/rospkg/rospack.py", line 199, in get_path �[0m�[0m
�]2;[build] 1/5� raise ResourceNotFound(name, ros_paths=self._ros_paths) �[0m�[0m
�]2;[build] 1/5�rospkg.common.ResourceNotFound: hrpsys_ros_bridge_tutorials �[0m�[0m
�]2;[build] 1/5�ROS path [0]=/opt/ros/hydro/share/ros �[0m�[0m
�]2;[build] 1/5�ROS path [1]=/home/travis/ros/ws_rtmros_tutorials/src/rtmros_tutorials/hironx_tutorial �[0m�[0m
�]2;[build] 1/5�ROS path [2]=/home/travis/ros/ws_rtmros_tutorials/src/rtmros_tutorials/hironx_tutorial �[0m�[0m
�]2;[build] 1/5�ROS path [3]=/home/travis/ros/ws_rtmros_tutorials/src/rtmros_tutorials/hrpsys_tutorials �[0m�[0m
�]2;[build] 1/5�ROS path [4]=/home/travis/ros/ws_rtmros_tutorials/src/rtmros_tutorials/openhrp3_tutorials �[0m�[0m
�]2;[build] 1/5�ROS path [5]=/home/travis/ros/ws_rtmros_tutorials/src/rtmros_tutorials/hrpsys_gazebo_tutorials �[0m�[0m
�]2;[build] 1/5�ROS path [6]=/opt/ros/hydro/share �[0m�[0m
�]2;[build] 1/5�ROS path [7]=/opt/ros/hydro/stacks �[0m�[0m
�]2;[build] 1/5�-- run_tests.py: verify result "/home/travis/ros/ws_rtmros_tutorials/build/hrpsys_ros_bridge_tutorials/test_results/hrpsys_ros_bridge_tutorials/rostest-test_samplerobot_hrpsys-ros-bridge_test.xml" �[0m�[0m
Do not run tests for other packages
catkin run_tests [package]
run tests for all the (dependent) packages in workspace.
In order to disable test in them, need to use catkin config --blacklist
or catkin config --whitelist
test fails unexpectedly at ``setup_catkin`` with error below on indigo
+++cmake . -DCMAKE_INSTALL_PREFIX=/opt/ros/indigo/
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using CATKIN_DEVEL_PREFIX: /tmp/catkin/devel
-- Using CMAKE_PREFIX_PATH:
-- Found PythonInterp: /opt/python/2.6.9/bin/python (found version "2.6.9")
-- Using PYTHON_EXECUTABLE: /opt/python/2.6.9/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /tmp/catkin/test_results
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests
ImportError: "from catkin_pkg.package import parse_package" failed: No module named catkin_pkg.package
Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
CMake Error at cmake/safe_execute_process.cmake:11 (message):
execute_process(/opt/python/2.6.9/bin/python
"/tmp/catkin/cmake/parse_package_xml.py" "/tmp/catkin/cmake/../package.xml"
"/tmp/catkin/catkin/catkin_generated/version/package.cmake") returned error
code 1
Call Stack (most recent call first):
cmake/catkin_package_xml.cmake:63 (safe_execute_process)
cmake/all.cmake:151 (_catkin_package_xml)
CMakeLists.txt:8 (include)
-- Configuring incomplete, errors occurred!
See also "/tmp/catkin/CMakeFiles/CMakeOutput.log".
See also "/tmp/catkin/CMakeFiles/CMakeError.log".
+++make
make: *** No targets specified and no makefile found. Stop.
+++sudo make install
make: *** No rule to make target `install'. Stop.
++++error
++++travis_time_end 31
++++set +x
traivs_time:end:kowxh6sn:start=1444894579854614240,finish=1444894582189043742,duration=2334429502
traivs_fold:end:setup_catkin<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Cache `pip install` to speed up testing
@wkentaro
Now we cache g++ -c
and apt-get
, but pip install
takes about 10 minutes when testing jsk_recognition.
Following packages are heavy:
- scikit-image
- dlib
travis fails on mongodb install
something wrong..
https://s3.amazonaws.com/archive.travis-ci.org/jobs/34402169/log.txt
This blocks most of our packages fkanehiro/hrpsys-base#326, https://travis-ci.org/start-jsk/rtmros_common/builds/34402162
Processing triggers for man-db ...
Processing triggers for ureadahead ...
Processing triggers for gconf2 ...
Processing triggers for libglib2.0-0 ...
Processing triggers for hicolor-icon-theme ...
Processing triggers for fontconfig ...
Errors were encountered while processing:
/var/cache/apt/archives/mongodb-clients_1%3a2.0.4-1ubuntu2.1_amd64.deb
/var/cache/apt/archives/mongodb-server_1%3a2.0.4-1ubuntu2.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
run_tests rather than test as a terget of catkin?
The document says:
If you run make run_tests on the command line in the build folder now, the test binary will get compiled and the rostest file 'test/mytest.test' will be launched by rostest.
and test
target does not build any executable listed by ADD_ROSTEST_GTEST macro.
Check contributors name
check contributors name at test time is a good idea, I think.
libdc1394 error: Failed to initialize libdc1394 when ``import cv2`` in python code
a question at StackOverflow: http://stackoverflow.com/questions/12689304/ctypes-error-libdc1394-error-failed-to-initialize-libdc1394
Maybe this is caused by opencv.
Also it raises ImportError
for numpy.core.multiarray.
[jsk_perception] libdc1394 error: Failed to initialize libdc1394
[jsk_perception] libdc1394 error: Failed to initialize libdc1394
[jsk_perception] libdc1394 error: Failed to initialize libdc1394
[jsk_perception] libdc1394 error: Failed to initialize libdc1394
[jsk_perception] ImportError: numpy.core.multiarray failed to import
[jsk_perception] Traceback (most recent call last):
[jsk_perception] File "/workspace/ros/ws_jsk_recognition/src/jsk_recognition/jsk_perception/node_scripts/image_publisher.py", line 4, in <module>
[jsk_perception] import cv2
[jsk_perception] Traceback (most recent call last):
Maybe something is different in jenkins from standard ubuntu environment?
(I have no error when import cv2
on my PC)
docker host IP is not static
@k-okada @snozawa
Could you run sudo apt-get install moreutils
on jenkins?
moreutils: http://qiita.com/cuzic/items/1837cfe6572cbd3f09c2
check is .travis is wrongly commited
sometime people commit wrong .travis , mainly roll back previous version, if there is a way to check your commit is older than current repository, we can check on travis.
Release 0.1.4
@k-okada new release please.
fails at before_install: ImportError: "from catkin_pkg.package import parse_package" failed: No module named catkin_pkg.package
test fails at https://github.com/jsk-ros-pkg/jsk_travis/blob/master/travis.sh#L93
+++cmake . -DCMAKE_INSTALL_PREFIX=/opt/ros/indigo/
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using CATKIN_DEVEL_PREFIX: /tmp/catkin/devel
-- Using CMAKE_PREFIX_PATH:
-- Found PythonInterp: /opt/python/2.6.9/bin/python (found version "2.6.9")
-- Using PYTHON_EXECUTABLE: /opt/python/2.6.9/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /tmp/catkin/test_results
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests
ImportError: "from catkin_pkg.package import parse_package" failed: No module named catkin_pkg.package
Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
CMake Error at cmake/safe_execute_process.cmake:11 (message):
execute_process(/opt/python/2.6.9/bin/python
"/tmp/catkin/cmake/parse_package_xml.py" "/tmp/catkin/cmake/../package.xml"
"/tmp/catkin/catkin/catkin_generated/version/package.cmake") returned error
code 1
Call Stack (most recent call first):
cmake/catkin_package_xml.cmake:63 (safe_execute_process)
cmake/all.cmake:151 (_catkin_package_xml)
CMakeLists.txt:8 (include)
`catkin build | grep -v -e Linked -e Symlinking` always exits with return code 0
$ roscd jsk_perception
$ echo hoge >> CMakeLists.txt
$ catkin bt --no-deps | grep -v -e Symlinking -e Linked
==> Expanding alias 'bt' from 'catkin bt -iv --no-deps' to 'catkin b --this -iv --no-deps'
==> Expanding alias 'b' from 'catkin b --this -iv --no-deps' to 'catkin build --this -iv --no-deps'
--------------------------------------------------------------
Profile: default
Extending: [cached] /opt/ros/indigo
Workspace: /home/wkentaro/ros/indigo
Source Space: [exists] /home/wkentaro/ros/indigo/src
Build Space: [exists] /home/wkentaro/ros/indigo/build
Devel Space: [exists] /home/wkentaro/ros/indigo/devel
Install Space: [missing] /home/wkentaro/ros/indigo/install
DESTDIR: None
--------------------------------------------------------------
Isolate Develspaces: False
Install Packages: False
Isolate Installs: False
--------------------------------------------------------------
Additional CMake Args: None
Additional Make Args: None
Additional catkin Make Args: None
Internal Make Job Server: True
--------------------------------------------------------------
Whitelisted Packages: None
Blacklisted Packages: None
--------------------------------------------------------------
Workspace configuration appears valid.
--------------------------------------------------------------
Found '134' packages in 0.2 seconds.
Starting ==> jsk_perception
�]2;[build] 1/1�[build - 0.0] [jsk_perception - 0.0] [1/8 Jobs | 1/8 Active | 1/1 Completed]
[jsk_perception] ==> '/home/wkentaro/ros/indigo/build/jsk_perception/build_env.sh /usr/bin/make cmake_check_build_system' in '/home/wkentaro/ros/indigo/build/jsk_perception'
�]2;[build] 1/1�[build - 0.0] [jsk_perception - 0.0] [1/8 Jobs | 1/8 Active | 1/1 Completed]
[jsk_perception] CMake Error: Error in cmake code at
�]2;[build] 1/1�[build - 0.1] [jsk_perception - 0.1] [1/8 Jobs | 1/8 Active | 1/1 Completed]
[jsk_perception] /home/wkentaro/ros/indigo/src/jsk-ros-pkg/jsk_recognition/jsk_perception/CMakeLists.txt:327:
�]2;[build] 1/1�[build - 0.1] [jsk_perception - 0.1] [1/8 Jobs | 1/8 Active | 1/1 Completed]
[jsk_perception] Parse error. Expected "(", got newline with text "
�]2;[build] 1/1�[build - 0.1] [jsk_perception - 0.1] [0/8 Jobs | 1/8 Active | 1/1 Completed]
[jsk_perception] ".
�]2;[build] 1/1�[build - 0.1] [jsk_perception - 0.1] [0/8 Jobs | 1/8 Active | 1/1 Completed]
[jsk_perception] -- Configuring incomplete, errors occurred!
�]2;[build] 1/1�[build - 0.1] [jsk_perception - 0.1] [0/8 Jobs | 1/8 Active | 1/1 Completed]
[jsk_perception] See also "/home/wkentaro/ros/indigo/build/jsk_perception/CMakeFiles/CMakeOutput.log".
�]2;[build] 1/1�[build - 0.1] [jsk_perception - 0.1] [0/8 Jobs | 1/8 Active | 1/1 Completed]
[jsk_perception] See also "/home/wkentaro/ros/indigo/build/jsk_perception/CMakeFiles/CMakeError.log".
�]2;[build] 1/1�[build - 0.1] [jsk_perception - 0.1] [0/8 Jobs | 1/8 Active | 1/1 Completed]
[jsk_perception] make: *** [cmake_check_build_system] Error 1
�]2;[build] 1/1�[build - 0.1] [jsk_perception - 0.1] [0/8 Jobs | 1/8 Active | 1/1 Completed]
[jsk_perception] <== '/home/wkentaro/ros/indigo/build/jsk_perception/build_env.sh /usr/bin/make cmake_check_build_system' failed with return code '2'
�]2;[build] 1/1�[build - 0.1] [!jsk_perception] [jsk_perception - 0.1]
Failed <== jsk_perception [ 0.1 seconds ]
[build] Calculating new jobs...
�]2;[build] 1/1�[build - 0.1] [!jsk_perception] [0/8 Jobs | 0/8 Active | 1/1 Completed]
�]2;[build] 1/1�[build - 0.1] [!jsk_perception] [0/8 Jobs | 0/7 Active | 1/1 Completed]
�]2;[build] 1/1�[build - 0.1] [!jsk_perception] [0/8 Jobs | 0/6 Active | 1/1 Completed]
�]2;[build] 1/1�[build - 0.1] [!jsk_perception] [0/8 Jobs | 0/5 Active | 1/1 Completed]
�]2;[build] 1/1�[build - 0.1] [!jsk_perception] [0/8 Jobs | 0/4 Active | 1/1 Completed]
�]2;[build] 1/1�[build - 0.1] [!jsk_perception] [0/8 Jobs | 0/3 Active | 1/1 Completed]
�]2;[build] 1/1�[build - 0.1] [!jsk_perception] [0/8 Jobs | 0/2 Active | 1/1 Completed]
�]2;[build] 1/1�[build - 0.1] [!jsk_perception] [0/8 Jobs | 0/1 Active | 1/1 Completed]
�]2;[build] 1/1�[build - 0.1] [!jsk_perception] [0/8 Jobs | 0/0 Active | 1/1 Completed]
�]2;�[build] There were '1' errors:
Failed to build package 'jsk_perception' because the following command:
# Command to reproduce:
cd /home/wkentaro/ros/indigo/build/jsk_perception && /home/wkentaro/ros/indigo/build/jsk_perception/build_env.sh /usr/bin/make cmake_check_build_system; cd -
# Path to log:
cat /home/wkentaro/ros/indigo/build/build_logs/jsk_perception.log
Exited with return code: 2
[build] Runtime: 0.6 seconds
$ echo $?
0
rostest after installation fails because of no executable of c++ (that is not built at build time)
jsk-ros-pkg/jsk_common#1244
fails at this line
https://github.com/jsk-ros-pkg/jsk_travis/blob/master/travis.sh#L223
because there is no executable installed named test_log_utils.
(that is built at catkin run_tests
)
@k-okada do you have any idea to solve this?
testing after installation is a common practice?
Release 0.2.3
need indigo to run catkin_prepare_package --no-push.
Request of release for 0.4.7
jsk-ros-pkg admins, could you please do this?
jenkins.jsk.imi.i.u-tokyo.ac.jp is not resolved
DNS problem?
$ ping jenkins.jsk.imi.i.u-tokyo.ac.jp
ping: unknown host jenkins.jsk.imi.i.u-tokyo.ac.jp
$ nslookup jenkins.jsk.imi.i.u-tokyo.ac.jp
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find jenkins.jsk.imi.i.u-tokyo.ac.jp: SERVFAIL
Colorize jenkins output
BEFORE_SCRIPT does not work?: please upgrade python version 2.6 to 2.7 on jenkins
I have error because jenkins use python 2.6.
Successfully built multi-key-dict
Installing collected packages: pbr, multi-key-dict, six, python-jenkins
Successfully installed multi-key-dict pbr python-jenkins six
/opt/python/2.6.9/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
+++./.travis/travis_jenkins.py
/home/travis/.local/lib/python2.6/site-packages/jenkins/__init__.py:70: UserWarning: Support for python 2.6 is deprecated and will be removed.
warnings.warn("Support for python 2.6 is deprecated and will be removed.")
TRAVIS_BRANCH = master
TRAVIS_COMMIT = f813bebc9a2fe16548b099e8c7736605f9ddb5af
TRAVIS_PULL_REQUEST = 918
TRAVIS_REPO_SLUG = start-jsk/jsk_apc
TRAVIS_BUILD_ID = 85541722
TRAVIS_BUILD_NUMBER = 1592
TRAVIS_JOB_ID = 85541723
TRAVIS_JOB_NUMBER = 1592.1
TRAVIS_BRANCH = master
ROS_DISTRO = indigo
ROSWS = wstool
BUILDER = catkin
USE_DEB = false
EXTRA_DEB =
TEST_PKGS =
TARGET_PKGS =
BEFORE_SCRIPT = wget https://raw.githubusercontent.com/Nanolx/patchimage/master/tools/gdown.pl -O jsk_2015_05_baxter_apc/test/gdown.pl; (cd jsk_2015_05_baxter_apc/test/; perl gdown.pl 'https://drive.google.com/uc?id=0B9P1L--7Wd2vTkdoUXAzdnVobWc' 2015-10-07-10-20-12_bin-box-array.bag)
NOT_TEST_INSTALL =
ROS_PARALLEL_JOBS = -j8
CATKIN_PARALLEL_JOBS =
ROS_PARALLEL_TEST_JOBS =
CATKIN_PARALLEL_TEST_JOBS =
BUILD_PKGS =
Traceback (most recent call last):
File "./.travis/travis_jenkins.py", line 283, in <module>
TRAVIS_JENKINS_UNIQUE_ID='{}.{}'.format(TRAVIS_JOB_ID,time.time())
ValueError: zero length field name in format
+++exit 1
Remove all hydro test
hydro shadow-fixed packages are not updated any more.
It's time to remove hydro test.
Print test results after catkin_make test
Currently, several log are print-outed.
https://github.com/jsk-ros-pkg/jsk_travis/blob/master/travis.sh#L68
I'd like to add printing of results from catkin_make test.
For example:
https://travis-ci.org/jsk-ros-pkg/jsk_pr2eus/jobs/27654151
In this travis test, catkin_make fails.
catkin_make test hides the output from test codes, so I could not understand what is the reason of travis failing.
I created this PR:
#1
Because no travis test runs in jsk_travis
's PR, please comment to this issue or this PR.
run_tests fails but the travis test won't fail unexpectedly (because of 0 exit code)
[jsk_perception:make] make[1]: *** [CMakeFiles/run_tests.dir/rule] Error 2
[jsk_perception:make] make[1]: Leaving directory `/workspace/ros/ws_jsk_recognition/build/jsk_perception'
[jsk_perception:make] make: *** [run_tests] Error 2
Failed <<< jsk_perception [ 0.5 seconds ]
Abandoned <<< jsk_pcl_ros [ Unrelated job failed ]
Abandoned <<< imagesift [ Unrelated job failed ]
Abandoned <<< resized_image_transport [ Unrelated job failed ]
Finished <<< jsk_pcl_ros_utils [ 0.3 seconds ]
[build] Summary: 4 of 8 packages succeeded.
[build] Ignored: None.
[build] Warnings: None.
[build] Abandoned: 3 packages were abandoned.
[build] Failed: 1 packages failed.
[build] Runtime: 9.8 seconds total.
+ catkin_test_results build
Summary: 4 tests, 0 errors, 0 failures
+ travis_time_end
+ set +x
traivs_time:end:62ov6v3p:start=1461928060846147418,finish=1461928072949545664,duration=12103398246
traivs_fold:end:catkin_run_tests<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Function catkin_run_tests takes 0 min 12 sec
+ '[' true '!=' true ']'
+ travis_time_start after_script
+ set +x
traivs_fold:start:after_script
traivs_time:start:oiqyfd5c>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ PATH=/usr/local/bin:/opt/ros/indigo/share/euslisp/jskeus/eus//Linux64/bin:/opt/ros/indigo/bin:/opt/ros/indigo/share/euslisp/jskeus/eus//Linux64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ PYTHONPATH=/usr/local/lib/python2.7/dist-packages:/workspace/ros/ws_jsk_recognition/devel/lib/python2.7/dist-packages:/opt/ros/indigo/lib/python2.7/dist-packages
+ '[' /workspace/jsk-ros-pkg/jsk_recognition/log == '' ']'
+ '[' catkin == catkin -a -e /workspace/jsk-ros-pkg/jsk_recognition/log ']'
+ catkin_test_results --verbose --all /workspace/jsk-ros-pkg/jsk_recognition/log
Summary: 0 tests, 0 errors, 0 failures
+ '[' catkin == catkin -a -e /workspace/ros/ws_jsk_recognition/build/ ']'
+ catkin_test_results --verbose --all /workspace/ros/ws_jsk_recognition/build/
Skipping "catkin_tools_prebuild/package.xml": 'tests'
jsk_recognition_utils/test_results/jsk_recognition_utils/gtest-test_cv_utils.xml: 1 tests
jsk_recognition_utils/test_results/jsk_recognition_utils/gtest-test_rgb_colors.xml: 1 tests
jsk_recognition_utils/test_results/jsk_recognition_utils/rostest-test_test_tf_listener_singleton.xml: 1 tests
jsk_recognition_utils/test_results/jsk_recognition_utils/rosunit-test_tf_listener_singleton.xml: 1 tests
Summary: 4 tests, 0 errors, 0 failures
+ '[' catkin == catkin -a -e /workspace/.ros/test_results/ ']'
+ travis_time_end
+ set +x
traivs_time:end:oiqyfd5c:start=1461928072952952892,finish=1461928073305733737,duration=352780845
traivs_fold:end:after_script<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Function after_script takes 0 min 0 sec
+ pwd
/var/lib/jenkins/jobs/trusty-travis-jsk-ros-pkg-jsk_recognition-indigo-deb-true-true/workspace/jenkins-trusty-travis-jsk-ros-pkg-jsk_recognition-indigo-deb-true-true-1259/jsk-ros-pkg/jsk_recognition
+ sudo rm -fr /var/lib/jenkins/jobs/trusty-travis-jsk-ros-pkg-jsk_recognition-indigo-deb-true-true/workspace/jenkins-trusty-travis-jsk-ros-pkg-jsk_recognition-indigo-deb-true-true-1259
Finished: SUCCESS
=======================================
http://jenkins.jsk.imi.i.u-tokyo.ac.jp:8080/job/trusty-travis-jsk-ros-pkg-jsk_recognition-indigo-deb-true-true/1259/
=======================================
+++exit 0
https://travis-ci.org/jsk-ros-pkg/jsk_recognition/jobs/126623005
stable release
I have released new version of jsk_travis, please use cebe407
Internal compiler error during cakin build
Sometimes travis fails the following error:
g++: internal compiler error: Killed (program cc1plus)
If we build source several times like this:
catkin build xxx || catkin build xxx
, is this reduce the possibility of internal compile error?
https://github.com/jsk-ros-pkg/jsk_travis/blob/master/travis.sh#L154
/export/data2 is full
/export/data2 of jenkins.jsk.imi.i.u-tokyo.ac.jp is full and docker does not run
Possible to change filename .rosinstall?
.rosinstall is same name as the default config file for wstool command.
it causes problem sometime for me.
Is that possible to change the name?
maybe with config variable in .travis.yml
in each repository.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.