Closed 130s closed 7 years ago
I can confirm that the version selection doesn't work at the moment. It seems to be a regression of the "new" UI. @wjwwood Can you please look into this at some point.
I'll try to have a look at it soon.
It doesn't look like the underlying generate_prerelease_script.py
script can do this. I guess I just never noticed that this information was not used to modify the end script.
Currently, I believe it will always checkout code as defined in the devel
section of the rosdistro distribution.yaml
file.
@dirk-thomas Can you speak to whether or not the generate_prerelease_script.py
is capable of getting the released version of the repository's packages? I see that you can override the repository url and branch for each "repository name", but since there is a branch for each package in the release case, this is not sufficient to do the "latest
" or "<version>
" options, as it would need to make a mapping from the repository name to several branches rather than just one. I looked at the output of --help
and at the documentation here:
But I couldn't find anything that lead me to a way to accomplish this. I think something could be done with the underlay
folder, but I'm not sure.
it will always checkout code as defined in the devel section of the rosdistro distribution.yaml file.
That explains to me why prerelease stops with error saying like the following for a repo without source entry, even though on prerelease web i/f I selected latest
:
The repository 'moveit_resources' does not have a source entry in the distribution file. We cannot generate a prerelease without a source entry.
The script generate_prerelease_script.py
has the following relevant options to override the branch / repo (see its --help
output):
--custom-branch [REPO_NAME:BRANCH_OR_TAG_NAME [REPO_NAME:BRANCH_OR_TAG_NAME ...]]
A name of a 'repository' from the distribution file followed by a colon and a branch / tag name--custom-repo [REPO_NAME:REPO_TYPE:REPO_URL:BRANCH_OR_TAG_NAME [REPO_NAME:REPO_TYPE:REPO_URL:BRANCH_OR_TAG_NAME ...]]
The name, type, url and branch / tag name of a repositoryUsing those the generated command lines for the some other examples (since moveit_core
is not a repo anymore) should be:
generate_prerelease_script.py https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml kinetic default ubuntu xenial amd64 genmsg --level 0 --output-dir .
generate_prerelease_script.py https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml kinetic default ubuntu xenial amd64 --level 0 --output-dir . --custom-repo genmsg_pkg:git:https://github.com/ros-gbp/genmsg-release.git:release/kinetic/genmsg
generate_prerelease_script.py https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml kinetic default ubuntu xenial amd64 --level 0 --output-dir . --custom-repo genmsg_pkg:git:https://github.com/ros-gbp/genmsg-release.git:release/kinetic/genmsg/0.5.8-0
As you can see in the last two commands each package is being identified individually.
The use of genmsg
is not very demonstrative, since it only has one package in the repository. I did nodelet_core
:
generate_prerelease_script.py \
https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml \
kinetic default ubuntu xenial amd64 \
--level 0 \
--output-dir . \
--custom-repo \
nodelet_pkg:git:https://github.com/ros-gbp/nodelet_core-release.git:release/kinetic/nodelet/1.9.8-0 \
nodelet_core_pkg:git:https://github.com/ros-gbp/nodelet_core-release.git:release/kinetic/nodelet_core/1.9.8-0 \
nodelet_topic_tools_pkg:git:https://github.com/ros-gbp/nodelet_core-release.git:release/kinetic/nodelet_topic_tools/1.9.8-0
This would work, but I think the important thing to point out is that rather than specifying the repository name (as is the case for devel
) in the other two cases you must omit the repository name and only specific the exact repository/branch pairs to clone using --custom-repo
. This is a lot more work for the web tool to handle because now it must figure out what packages were released for packages in each other option, i.e. latest
and <specific version>
. I don't know when I'll have time to do that.
I think _pkg
suffix you used in the first field of --custom-repo
seems to just be a convention. In fact the first field of --custom-repo
should probably just be called "local folder name" because I think that's really all it is.
I just made up genmsg_pkg
to clarify it doesn't correlate with the repo name in any way. I good convention would be to use the package name. It is already guaranteed to be unique.
(May or may not be related to #14)
I flipped
devel
andlatest
but in the end I seem to have gotten the exactly same command.generate_prerelease_script.py https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml jade default ubuntu trusty amd64 moveit_core --level 0 --output-dir .
generate_prerelease_script.py https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml jade default ubuntu trusty amd64 moveit_core --level 0 --output-dir .
Also chose specific version tag but it looks the same again.
generate_prerelease_script.py https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml jade default ubuntu trusty amd64 moveit_core --level 0 --output-dir .
Question: Will the result of these command be actually different with these commands (if so, the change is embedded somehow somewhere invisible from the command)?