-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Contribution idea for travis on ros-industrial github org #1
Comments
@130s: this would be good to have across ros-i repositories. However, personally I'm not really such a big fan of sub modules. And although there will be some duplication, I feel there isn't that much integration / coordination between the repositories that you list that would make it necessary to have a single travis config. For the Fanuc repository fi, I sometimes try out some stuff that I wouldn't feel comfortable with to immediately have an effect on other repositories as well. An individual config would allow me to keep locality of changes high. |
Obviously this is just my opinion. Let's see some others. |
@gavanderhoorn, @130s, would it be possible for some repos to use the common submodule and others a custom, repo specific, version? This way we could deploy travis across all of our repos (a good thing), but give maintainers the flexibility to customize their own travis builds if they wish? |
Sure. That should certainly be possible. |
@130s, thoughts? I would be supportive of using git submodules for almost all repos and then letting specific maintainers like @gavanderhoorn opt out |
Sounds good; actually giving flexibility per repository is what I wanted to mention. I hope I can open a PR later today. I've been updating travis config files over 20+ repositories since Trusty got enabled, and although it's not a painful process at all to almost just copy-paste the same file for the repositories where no special requirements), it's just tedious and error-prone. Meanwhile I understand there seem to be drawbacks for git submodules so if there's better option I can dig into that. |
Does a git submodule result in "including" the entire repo? If this is the case, then I would prefer a dedicated repo...call it Updating 20+ repos sounds painful. I'd be the first to "forget" to update my repos. This does bring up a good point though? How do we handle ROS versions in git submodules? |
Yes it does include the entire repo, but only at "runtime of travis", so this shouldn't matter on our computers, on buildfarm or anywhere else than on travis. But I think separating a repo for CI configs is cleaner in many ways (so that especially developers don't need to see PRs about CI).
Aside from submodules, I usually use so-called |
@130s, I think you've addressed everything. Let's move forward. I've created the repo for your efforts: https://github.com/ros-industrial/industrial_ci |
Thanks, I'm in some deadlines but will hopefully send PRs before TG break. |
@130s, I've enabled |
Thanks Shaun. I've opened ros-industrial/industrial_ci#1 and I see |
I rather open a ticket here to ask opinions from smaller group for this.
In response to recruited contribution for
travis
in today's conference call, I'm willing to offer a help. Below I spread out my thoughts how to tackle this.I found some (but not limited to) the repositories that seem to be missing travis config on their default branches.
I CAN open separate PRs for those repos to add travis config files. Thing with that is that the maintainers of each repository will be responsible for updating
travis.yml
when necessary.Instead, because repositories under
ros-industrial
org are being coordinated, I think it makes more sense to aggregate travis config files at fewer or ideally at one common place, and repositories that need configs just depend on that common place if possible. This is possible using git functionality called submodule. In fact I just tested in my own org and worked fine with the following 2 repositories:(JSK lab has been utilizing this mechanism for an year and half https://github.com/jsk-ros-pkg/jsk_travis and https://github.com/jsk-ros-pkg/jsk_common. Their configs are complicated due to their various requirements and thus not usable out-of-box, so my samples might be a good place to start.)
Of course whether or not each repository wants to be tested by travis depends on its policy. We can discuss if they want or not on their issue trackers.
If this sounds good, I can initiate the work. I appreciate your thoughts.
The text was updated successfully, but these errors were encountered: