-
Notifications
You must be signed in to change notification settings - Fork 96
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
Support external repos #392
Comments
Currently this is only possible for prerelease tests and the command line argument is kind of "verbose": ros_buildfarm/scripts/prerelease/generate_prerelease_script.py Lines 77 to 84 in b7ae43a
|
I have added some docs about how to use the I don't think that support will be extended to the other job types. For example release jobs rely on the fact that all dependencies are available from Debian packages which is most of the time not the case for an external repo. So I will likely close this ticket soon assuming that supporting the use case with prerelease jobs is sufficient. |
@shaun-edwards @130s @davetcoleman I would be curious what you guys think since you are currently using either ROS-Industrial CI or a custom script to run tests on Travis. Any input what features are missing in |
My 2 cents:
CC @ipa-mdl |
You can do exactly that with the prerelease job. So I am not sure what you are expecting here / what is missing for your use case.
Can you please describe which job type you would like to see supported?
I don't have any statistics about the website but since it is not necessary to run prereleases I don't think we can quantify how many users use this option.
Passing a |
Currently we just skip It would be great if the prerelease tests could work on local sources.
Examples: |
The clone script only operates on scm's. So I don't think you have a different scm which isn't in that list yet? I guess if the prerelease script could be invoked without any specific custom repos but then uses the workspace found in a known location all of your three use cases would work. You could use wstool and If I am not mistaken the prerelease script should already support that by prepopulating the folder where the clone script would usually clone the repos to. I will give it a try and report back. |
That' s how it is working right now.
Another possibility is to use
But it could be extended to support other types as well:
This would enable the use of rosinstall for all users. |
@dirk-thomas, the main benefit of While digging through the wiki, I found this, which I believe addresses my use case (I'm sure there are other differences I don't understand). |
@ipa-mdl
Can you please elaborate what you imagine that flag to do.
Are you referring to apt repositories or repositories contain the sources of additional packages?
(In my opinion the term "downstream" is problematic in this context. In Jenkins "downstream" refers to jobs which depend on a specific job which is so pretty much the opposite direction than what you mean.)
From my perspective that feature is already available for all users. They just call the two command in sequence (rather than having a single command doing both). It is more like the pipe concept in Linux - instead of writing a single program which does multiple things you can call separate programs and pipe the data between them, e.g. @shaun-edwards The |
You can run the prerelease test without running bloom first, but you have to add a source entry to distribution.yaml beforehand.
"Support generating scripts to run jobs locally for repositories which are not in the rosdistro database." It should switch the generate script into a mode that does not require a repository name.
This is exactly what I meant, but it is called
If I recall it correctly it involves more steps like creating the src directory first. |
@ipa-mdl
I was pretty sure that this was not necessary if you use the prerelease job with the custom repo argument. Turns out that what not the case (probably a regression at some point?). Please see #405 which resolves that (I will update the PR to also add some documentation about this use case and probably cover it in a Travis test). With that the following example works without the repo being listed in the rosdistro at all:
The repo name determines under which path the repository is being cloned. As an alternative you can clone the repo beforehand and let the prerelease script take care of only the "processing" (not the cloning). See next paragraph for an example.
The |
Thanks @dirk-thomas, I will test this together with the #399 options. |
First version: ros-industrial/industrial_ci#145 |
With #405 being merged and released #394 I will close this ticket for now since all uses cases I am aware of at the moment seem to be supported. Thank you for all your feedback. Please feel free to comment on the closed ticket with additional feedback or consider opening new tickets (or even better pull requests) if you have additional use cases you think should be supported. |
Being late on board...Thanks for clarification and discussion! |
Support generating scripts to run jobs locally for repositories which are not in the rosdistro database.
This goal is based on a conversation at a ROS-Industrial meeting about ROS-Industrial CI. An example of their configuration: https://github.com/shaun-edwards/packml/blob/indigo-devel/.travis.yml
@shaun-edwards FYI. While this is just an issue (sorry no pull request yet) I thought adding you will make sure you get updates on this topic if there is any progress.
The text was updated successfully, but these errors were encountered: