lucasw / rviz_camera_stream

Custom rviz camera plugin that published rendered camera video stream
BSD 3-Clause "New" or "Revised" License
59 stars 47 forks source link

bloom release #38

Open lucasw opened 3 years ago

lucasw commented 3 years ago

http://wiki.ros.org/bloom/Tutorials/FirstTimeRelease

lucasw commented 3 years ago

http://wiki.ros.org/regression_tests#How_do_I_setup_my_system_to_run_a_prerelease.3F

sudo apt-get install python3-ros-buildfarm
...
E: Unable to locate package python3-ros-buildfarm

There isn't any package named that in 20.04 noetic (or do I need to add a repo?), so skip pre-release- or maybe it is in pip?

lucasw commented 3 years ago
bloom-release --rosdistro noetic --track noetic rviz_camera_stream --edit
ROS Distro index file associate with commit '6fb806d630cf1bdff61486ea9abdedd675a0fd97'
New ROS Distro index url: 'https://raw.githubusercontent.com/ros/rosdistro/6fb806d630cf1bdff61486ea9abdedd675a0fd97/index-v4.yaml'
Specified repository 'rviz_camera_stream' is not in the distribution file located at 'https://raw.githubusercontent.com/ros/rosdistro/6fb806d630cf1bdff61486ea9abdedd675a0fd97/noetic/distribution.yaml'
Could not determine release repository url for repository 'rviz_camera_stream' of distro 'noetic'
You can continue the release process by manually specifying the location of the RELEASE repository.
To be clear this is the url of the RELEASE repository not the upstream repository.
For release repositories on GitHub, you should provide the `https://` url which should end in `.git`.
Here is the url for a typical release repository on GitHub: https://github.com/ros-gbp/rviz-release.git
==> Looking for a release of this repository in a different distribution...
No reasonable default release repository url could be determined from previous releases.
Release repository url [press enter to abort]: 
git@github.com:lucasw/rviz_camera_stream-release.git
The release repository url you provided is not a `https://` address.

:-1:

lucasw commented 3 years ago

I've forgotten how much I dislike interactive shell scripts for processes like this- if the configuration requires more than a handful of command line parameters it should use a config file instead, and process that instead of constantly stopping to ask the user questions.

lucasw commented 3 years ago

Try making this modification

    if not (url.startswith('https://') or url.startswith('https://')):
        valid_url = False
        warning("The {0} repository url you provided is not a `https://` or 'git://' address."
bloom-release --rosdistro noetic --track noetic --new-track --edit --override-release-repository-url git@github.com:lucasw/rviz_camera_stream-release.git rviz_camera_stream

Actually the solution is to use this:

Release Repository Push URL:
  <url>
    (optional) Used when pushing to remote release repositories. This is only
    needed when the release uri which is in the rosdistro file is not writable.
    This is useful, for example, when a releaser would like to use a ssh url
    to push rather than a https:// url.
git@github.com:lucasw/rviz_camera_stream-release.git

But can't do that with the override

The 'Release Repository Push URL' is set in the track, but is being ignored because the --override-release-repository-url option was used.
==> Testing for push permission on release repository
==> git remote -v
origin  https://github.com/lucasw/rviz_camera_stream-release.git (fetch)
origin  https://github.com/lucasw/rviz_camera_stream-release.git (push)
==> git push --dry-run
Username for 'https://github.com': 
lucasw commented 3 years ago
Upstream Repository URI:
  <uri>
    Any valid URI. This variable can be templated, for example an svn url
    can be templated as such: "https://svn.foo.com/foo/tags/foo-:{version}"
    where the :{version} token will be replaced with the version for this release.
  [None]: 
https://github.com/lucasw/rviz_camera_stream/releases/tag/1.0.0
lucasw commented 3 years ago
==> git-bloom-release noetic
Processing release track settings for 'noetic'
Checking upstream devel branch '<default>' for package.xml(s)
Cloning into '/tmp/tmpppiq0ibg/upstream'...
fatal: https://github.com/lucasw/rviz_camera_stream/releases/tag/1.0.0/info/refs not valid: is this a git repository?
Failed to checkout to the upstream branch '<default>' in the repository from 'https://github.com/lucasw/rviz_camera_stream/releases/tag/1.0.0'
Release failed, exiting.

https://github.com/lucasw/rviz_camera_stream/releases/tag/1.0.0/info/refs

Please upgrade your git client.
GitHub.com no longer supports git over dumb-http: https://github.com/blog/809-git-dumb-http-transport-to-be-turned-off-in-90-days

Try https://github.com/lucasw/rviz_camera_stream.git instead?

lucasw commented 3 years ago
roscd rviz_camera_stream
bloom-release --rosdistro noetic --track noetic --new-track --edit rviz_camera_stream
Release repository url [press enter to abort]:
https://github.com/lucasw/rviz_camera_stream-release.git
  ['upstream']:
rviz_camera_stream
Upstream Repository URI:
...
  [None]:
https://github.com/lucasw/rviz_camera_stream.git 
Release Repository Push URL:
git@github.com:lucasw/rviz_camera_stream-release.git
lucasw commented 3 years ago
Looks like bloom doesn't have an oauth token for you yet.
You can create a token by visiting https://github.com/settings/tokens in your browser.
For bloom to work the token must have at least `public_repo` scope.
If you want bloom to be able to automatically update your fork of ros/rosdistro (recommended)
then you must also enable the workflow scope for the token.
If you need to unauthorize it, remove it from the 'Tokens' menu in your GitHub account settings.

Would you like to enter an access token now [Y/n]? 

-> http://wiki.ros.org/bloom/Tutorials/GithubManualAuthorization#Re-route_https_through_ssh

Re-running the bloom command is easier now, it remembers all the above settings

It still asks for an access token

Do a manual PR

lucasw commented 3 years ago

Forgot to add a LICENSE, bumping to 1.0.1

Instead of bloom just do whatever it did manually in the release repo https://github.com/lucasw/rviz_camera_stream-release

No there's too much there, just run bloom again

bloom-release --rosdistro noetic rviz_camera_stream
lucasw commented 3 years ago

Opened manual PR at https://github.com/ros/rosdistro/pull/30895

It failed like this:

AssertionError: ["In file '''/home/runner/work/rosdistro/rosdistro/noetic/distribution.yaml''': Could not validate source entry for repo rviz_camera_stream with error [[[Could not validate repository with url https://github.com/lucasw/rviz_camera_stream.git and version 1.0.1 from entry at line 8059. Error reason: Tags are not valid, but a tag 1.0.1 was found. Re: https://github.com/ros/rosdistro/pull/20286]]]"] is not false

Aren't I just releasing into noetic? then whay is melodic running above?

Also I do have that tag:

https://github.com/lucasw/rviz_camera_stream/releases/tag/1.0.1

https://github.com/lucasw/rviz_camera_stream-release/releases/tag/upstream%2F1.0.1

The tag must be a branch? https://github.com/ros/rosdistro/pull/20286 In which repo, the -release one? Wouldn't that have been blooms job?