-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
CI: Add workflow that builds and releases cache on new tags #42984
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Øystein Sture <[email protected]>
Signed-off-by: Øystein Sture <[email protected]>
Signed-off-by: Øystein Sture <[email protected]>
Co-authored-by: Tomoya Fujita <[email protected]>
Overall doing this to have the cache items with the tags sounds interesting. The tools were designed to work without a cache being necessary but they will be much slower. What do you use for configuring the tools to find the release artifacts? |
Not sure I understand the question. Are you referring to the release artifacts output by this workflow? They should be available at the following url (if using bash).
I've been rosinstall_generator by modifying the cache url in index-v4.yaml and setting ROSDISTRO_INDEX_URL. If I check out this repository at a specified tag and leave the cache url unmodified, it will output the wrong versions (e.g. jazzy/2024-05-23 should generate rosbag2 with version 0.26.3, but it outputs 0.26.5). I just realized that this behavior is probably a bug in rosintall_generator. |
Signed-off-by: Øystein Sture <[email protected]>
This reverts commit ea0efc6.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for sending a pull request to ROS distro!
This is an automated tool that helps check your pull request for correctness.
This tool checks a number of attributes associated with your ROS package and generates a report that helps our reviewers merge your pull request in a timely fashion. Here are a few things to consider when sending adding or updating a package to ROS Distro.
ROS Distro includes a very helpful CONTRIBUTING.md file that we recommend reading if it is your first time submitting a package.
Please also read the ROS Distro review guidelines which summarizes this release process.
ROS Distro Considerations
- ROS Distributions are created using REP-134 Standards Track as a guide.
- Your package name should comply to REP-144 ROS Package Naming
- Your package must build for all platforms and architectures on the ROS buildfarm. See REP-2000 ROS Releases and Supported Platforms for all supported platforms for your ROS Distro.
- Your package must contain an OSI approved license. Your
package.xml
file must also include that license in a machine readable format. See REP-149 Package Manifest Format Three Specification for additional details. - A publicly available, open source, repository for your ROS package.
- While not required, we recommend that you create an account for ROS Discourse and subscribe to the appropriate release topic.
- If you would like, you may join our Discord Server and ask questions in the
#infra-help
channel.
Package Considerations
Having your package included in a ROS Distro is a badge of quality, and we recommend that package developers strive to create packages of the highest quality. We recommend package developers review the following resources before submitting their package.
- REP-2004 Package Quality Declaration-- The ROS 2 TSC has created a quality rating system for ROS packages. These ratings should serve as a guide for package developers. We recommend package developers achieve a quality level of three or higher.
- Documentation -- it is recommended that ROS packages include an extensive README.md file, and API level documentation using the Sphinx documentation system.
- Maintainer Responsibilities -- the ROS 2 documentation includes a guide to ROS package maintainer responsibilities that summarizes your responsibilities as an open source maintainer. While we do not enforce these requirements on package maintainers they should be considered best practices.
- We recommend that your package should strive to conform to the ROS 2 Developer Guide and the ROS 2 Style Guide.
Need Help?
Please post your questions to Robotics Stack Exchange or refer to the #infra-help
channel on our Discord server.
For changes related to yamllint:
- ✅ All new lines of YAML pass linter checks
This PR contains a simple workflow to generate and release a cache from each pushed tag. This would make targeting specific snapshots using rosdep and rosinstall_generator more convenient. The compressed archive is fairly small and does not take long to generate since it bases it off the current index cache.
Let me know if this makes sense to have running and if any changes are needed.