Comments (8)
No problem, except that the new repo is not showing up yet on Travis CI. I'll check it again later.
from phidgets_drivers.
Never mind, I just told it to sync with github. I think it should work, now.
from phidgets_drivers.
Thanks, looks good!
from phidgets_drivers.
@mintar is there a reason you'd rather use travis instead of the devel jobs on build.ros.org like: http://build.ros.org:8080/job/Idev__phidgets_drivers__ubuntu_trusty_amd64/?
from phidgets_drivers.
Note: This became a longer rant than expected. Please take it as constructive feedback. I really appreciate all the work you guys put into build.ros.org, it's just that I feel Travis still has a couple of advantages at the moment.
Several reasons (please correct me if I'm wrong here):
- It doesn't build pull requests, feature branches or forked repos.
- It lacks GitHub integration.
- It doesn't distinguish between "errored" and "failed" states.
- It likes to get stuck in a failed state, and you cannot manually trigger a rebuild.
(1): I think the overarching theme here is that I really like a clean git history. That means only things that pass the CI checks should end up in the main development branch. Since the build.ros.org jobs only run once a commit has landed in the main development branch, it's too late by then. I can enable Travis on my personal fork of a repo with a single click, so when it catches a compilation error, I can rebase and force-push to my personal repo until everything works before pushing to the main repo, without having lots of "fix compilation error" commits mixed in. Other people's PRs are also checked.
(2): This doesn't matter right now, since the devel jobs don't build PRs. If a job fails, I get an email, and since there is only one branch it's easy to know which branch fails. But once it would build PRs and feature branches, it's essential to see at one glance which branches and PRs fail and which pass.
(3): Travis distinguishes between an "errored" state (i.e., an error in the install
section of travis.yml
) and a "failed" state (i.e., an error in the script
section); see here for an example. When a build fails due to network problems when connecting to the Ubuntu or ROS mirrors etc., it goes to "errored", and I know that I probably just have to wait a couple of minutes, retrigger the build and it will pass, whereas a "failed" state means something is wrong with my code. On build.ros.org, I have to scroll through thousands of lines of log output just to see that it wasn't my fault after all.
(4): Case in point: Jdev__katana_driver. Apparently I created the devel job when ros-jade-gazebo-ros
was not released yet. If the job were retriggered now, it would build fine. But the only way to do that would be to push a dummy commit, which I don't like to do. The Travis web interface has a button for that.
Another advantage is that you can customize the build process. For example, volksbot_driver
requires a PPA, which you can do in the travis.yml. I wouldn't count this as a point against the devel jobs though, because requiring a PPA means that the package cannot be released anyway. In fact, this is the only reason we haven't released volksbot_driver
yet, although it would be useful for many people.
from phidgets_drivers.
I agree that Travis is great, and have gradually been using it with more github repositories. Before its use became so common, the devel jobs served a more crucial function.
I guess there are still problems for Kinetic because Travis does not directly support Xenial. I understand that docker is an option, but have not yet climbed the learning curve for using that.
from phidgets_drivers.
@mintar I guess we need to make people more aware of the features we added. We do have support for pull-request building, with github integration, and retriggering via github comment.
How to setup PR builds: http://wiki.ros.org/buildfarm/Pull%20request%20testing
Here's all the configured ones for kinetic: http://build.ros.org:8080/view/Kpr/
They have Github integration (see the green checkmark on the 2nd attempted commit): ros/angles#9
You can retrigger them by asking @ros-pull-request-builder retest this please
Indeed we do want to distinguish between the error during setup vs error/failure during the run. ros-infrastructure/ros_buildfarm#119 Though we attempt to catch any known repeated failures, abort the build, and retrigger it. We've worked hard to bring our false failure rate way down. If there's any instance of a false failure we'd appreciate a ticket for us to track it.
from phidgets_drivers.
Hi @tfoote , that is awesome. Looks like all the important points I criticized have already been adressed. Combined with the ability to test Kinetic, the build farm now looks to be even better than Travis. I'll give the build farm another go!
from phidgets_drivers.
Related Issues (20)
- Allow configuring encoder IOMode HOT 2
- phidgets_high_speed_encoder regression: duplicated joint state angles in all axis
- Should thermocouple package use sensor_msgs/Temperature instead of float64? HOT 8
- Fix gcc warnings on Ubuntu 22.04 HOT 1
- Port #127 to ROS2 (Add support for VINT networkhub) HOT 5
- Port #134 to ROS2 (sensor_msgs/Temperature and multi-channel readers)
- Port #137 to ROS2 (Support configuring encoder data interval and IO Mode)
- phidgets_high_speed_encoder: Failed to open device: Timed Out HOT 1
- PhidgetSpatial Precision IMU stops data output after first run on Jetson Orin HOT 2
- Feature Request: Flag for changing NED to ENU frame HOT 3
- Humble Branch compile issues HOT 3
- Port #153 to ROS2 (Add support for onboard orientation estimation and other new PhidgetSpatial features of MOT0109 and onwards) HOT 1
- MOT0110_0: Spatial: Failed to open device: Timed Out HOT 13
- Spatial: Failed to set algorithm magnetometer gain: Operation Not Supported HOT 4
- API of MOT0109 and MOT0110 is different HOT 2
- Drivers issues with older version of Phidgets HOT 3
- PhidgetManager_setOnErrorHandler symbol not found HOT 3
- Location affect to the orientation
- Port #173 to ROS2 (Add support for Phidgets Humidity sensors)
- [ROS2] there are no estimated orientation HOT 6
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.
from phidgets_drivers.