ros-acceleration / ros2acceleration

The acceleration command for ROS 2 command line tools.
Apache License 2.0
0 stars 3 forks source link

Release Process! (ROLLING LIVE ON JAMMY) :green_circle: :honey_pot: #2

Closed methylDragon closed 2 years ago

methylDragon commented 2 years ago

[STATUS: RELEASED - LIVE ON JAMMY]

Buildfarm Status

Description

This issue tracks the status for the release of this repository into rosdistro and making it available for installation as .deb via the ROS 2 repositories.

It will detail the steps that need to be taken, and what recommended changes are good to have.

Highlights

Release Process

Steps

Recommendations

vmayoral commented 2 years ago

Remove extra dependencies (e.g. geometry_msgs doesn't seem to be used)

33a42e08c6e450571e96e0a9bddcd65af31caed6

Addressed other critical aspects as well and released 0.5.0 tag.

methylDragon commented 2 years ago

Are ros_testing and std_msgs used as well?

vmayoral commented 2 years ago

Are ros_testing and std_msgs used as well?

Great catch 0.5.1 addressed both d8c146562b21174c871702dc6ce9eb89791e2f4c

methylDragon commented 2 years ago

Cool! I think this is good to go, I'll bloom it once we have rolling and humble branches.

vmayoral commented 2 years ago

Cool! I think this is good to go, I'll bloom it once we have rolling and humble branches.

Done!

Tried the release myself, failed ❌ :

```bash xilinx@xilinx:~/ros2_ws/src/xilinx/ros2acceleration$ bloom-release -p --rosdistro rolling --track rolling ros2acceleration --edit ROS Distro index file associate with commit '725def91e71e2e1a9520416feb916c802ed75314' New ROS Distro index url: 'https://raw.githubusercontent.com/ros/rosdistro/725def91e71e2e1a9520416feb916c802ed75314/index-v4.yaml' Specified repository 'ros2acceleration' is not in the distribution file located at 'https://raw.githubusercontent.com/ros/rosdistro/725def91e71e2e1a9520416feb916c802ed75314/rolling/distribution.yaml' Did you mean one of these: 'ament_acceleration', 'ros2cli'? Could not determine release repository url for repository 'ros2acceleration' of distro 'rolling' 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]: https://github.com/ros2-gbp/ros2acceleration-release.git ==> Fetching 'ros2acceleration' repository from 'https://github.com/ros2-gbp/ros2acceleration-release.git' Cloning into '/tmp/tmp5gd3zghw'... warning: You appear to have cloned an empty repository. WARNING [vcstools] Command failed: 'git checkout master' run at: '/tmp/tmp5gd3zghw' errcode: 1: error: pathspec 'master' did not match any file(s) known to git [/vcstools] Creating 'master' branch. Creating track 'rolling'... Repository Name: Name of the repository (used in the archive name) upstream Default value, leave this as upstream if you are unsure ['upstream']: Upstream Repository 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/ros-acceleration/ros2acceleration.git Upstream VCS Type: git Upstream URI is a git repository hg Upstream URI is a hg repository svn Upstream URI is a svn repository tar Upstream URI is a tarball ['git']: Version: :{auto} This means the version will be guessed from the devel branch. This means that the devel branch must be set, the devel branch must exist, and there must be a valid package.xml in the upstream devel branch. :{ask} This means that the user will be prompted for the version each release. This also means that the upstream devel will be ignored. This will be the version used. It must be updated for each new upstream version. [':{auto}']: Release Tag: :{version} This means that the release tag will match the :{version} tag. This can be further templated, for example: "foo-:{version}" or "v:{version}" This can describe any vcs reference. For git that means {tag, branch, hash}, for hg that means {tag, branch, hash}, for svn that means a revision number. For tar this value doubles as the sub directory (if the repository is in foo/ of the tar ball, putting foo here will cause the contents of foo/ to be imported to upstream instead of foo itself). :{ask} This means the user will be prompted for the release tag on each release. :{none} For svn and tar only you can set the release tag to :{none}, so that it is ignored. For svn this means no revision number is used. [':{version}']: Upstream Devel Branch: Branch in upstream repository on which to search for the version. This is used only when version is set to ':{auto}'. [None]: rolling ROS Distro: This can be any valid ROS distro, e.g. indigo, kinetic, lunar, melodic ['rolling']: Patches Directory: This can be any valid relative path in the bloom branch. The contents of this folder will be overlaid onto the upstream branch after each import-upstream. Additionally, any package.xml files found in the overlay will have the :{version} string replaced with the current version being released. :{none} Use this if you want to disable overlaying of files. [None]: Release Repository Push 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. :{none} This indicates that the default release url should be used. [None]: Created 'rolling' track. ==> Generating pull request to distro file located at 'https://raw.githubusercontent.com/ros/rosdistro/725def91e71e2e1a9520416feb916c802ed75314/rolling/distribution.yaml' 'execute_command' failed to call 'git checkout "upstream"' which had a return code (1): ``` error: pathspec 'upstream' did not match any file(s) known to git ``` Failed to checkout to 'upstream' because the working directory CalledProcessError: Command 'git checkout "upstream"' returned non-zero exit status 1. ++ git status: On branch master Your branch is based on 'origin/master', but the upstream is gone. (use "git branch --unset-upstream" to fixup) nothing to commit, working tree clean Failed to open pull request: CalledProcessError - Command 'git checkout "upstream"' returned non-zero exit status 1. ```
methylDragon commented 2 years ago

I didn't have any issues :o PR opened: https://github.com/ros/rosdistro/pull/32594

I'm not sure what's causing yours.

bloom commands

``` bloom-release --rosdistro rolling --track rolling ros2acceleration --edit ROS Distro index file associate with commit 'a28952a18be4522a728d9753303dbfdd70e4eea0' New ROS Distro index url: 'https://raw.githubusercontent.com/ros/rosdistro/a28952a18be4522a728d9753303dbfdd70e4eea0/index-v4.yaml' Specified repository 'ros2acceleration' is not in the distribution file located at 'https://raw.githubusercontent.com/ros/rosdistro/a28952a18be4522a728d9753303dbfdd70e4eea0/rolling/distribution.yaml' Did you mean one of these: 'ament_acceleration', 'ros2cli'? Could not determine release repository url for repository 'ros2acceleration' of distro 'rolling' 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]: https://github.com/ros2-gbp/ros2acceleration-release.git ==> Fetching 'ros2acceleration' repository from 'https://github.com/ros2-gbp/ros2acceleration-release.git' Cloning into '/tmp/tmpm3tn49lc'... warning: You appear to have cloned an empty repository. WARNING [vcstools] Command failed: 'git checkout master' run at: '/tmp/tmpm3tn49lc' errcode: 1: error: pathspec 'master' did not match any file(s) known to git [/vcstools] Creating 'master' branch. Creating track 'rolling'... Repository Name: Name of the repository (used in the archive name) upstream Default value, leave this as upstream if you are unsure ['upstream']: Upstream Repository 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/ros-acceleration/ros2acceleration.git Upstream VCS Type: git Upstream URI is a git repository hg Upstream URI is a hg repository svn Upstream URI is a svn repository tar Upstream URI is a tarball ['git']: Version: :{auto} This means the version will be guessed from the devel branch. This means that the devel branch must be set, the devel branch must exist, and there must be a valid package.xml in the upstream devel branch. :{ask} This means that the user will be prompted for the version each release. This also means that the upstream devel will be ignored. This will be the version used. It must be updated for each new upstream version. [':{auto}']: Release Tag: :{version} This means that the release tag will match the :{version} tag. This can be further templated, for example: "foo-:{version}" or "v:{version}" This can describe any vcs reference. For git that means {tag, branch, hash}, for hg that means {tag, branch, hash}, for svn that means a revision number. For tar this value doubles as the sub directory (if the repository is in foo/ of the tar ball, putting foo here will cause the contents of foo/ to be imported to upstream instead of foo itself). :{ask} This means the user will be prompted for the release tag on each release. :{none} For svn and tar only you can set the release tag to :{none}, so that it is ignored. For svn this means no revision number is used. [':{version}']: Upstream Devel Branch: Branch in upstream repository on which to search for the version. This is used only when version is set to ':{auto}'. [None]: rolling ROS Distro: This can be any valid ROS distro, e.g. indigo, kinetic, lunar, melodic ['rolling']: Patches Directory: This can be any valid relative path in the bloom branch. The contents of this folder will be overlaid onto the upstream branch after each import-upstream. Additionally, any package.xml files found in the overlay will have the :{version} string replaced with the current version being released. :{none} Use this if you want to disable overlaying of files. [None]: Release Repository Push 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. :{none} This indicates that the default release url should be used. [None]: Created 'rolling' track. ==> Testing for push permission on release repository ```

methylDragon commented 2 years ago

Note that this set test_pull_requests: true!!!

You'll need to do the corresponding permissions settings for the repo! Also do let me know if you'd prefer if I didn't set up PR request testing on release.

methylDragon commented 2 years ago

:tada: https://github.com/ros/rosdistro/pull/32594

methylDragon commented 2 years ago

Closing this issue, since we're done :tada: Congratulations on the press release too!