PointCloudLibrary / PointCloudLibrary/pcl
[Release] One click release
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 11.1k
- Forks
- 4.7k
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 6
Description
Is your feature request related to a problem? Please describe.
Releasing PCL requires effort from multiple contributors to add the binaries for different platforms. That takes time, and is difficult to trust
Expected behavior
- Release PR is merged to master
- Maintainer runs a pipeline and it performs a release without requiring any input (except maybe the release number)
Describe the solution you'd like
We can use the CI to generate the binaries (and source code), and the SHA2 and MD5 checksums for each artifact for different platforms. The artifacts can then be added to the GitHub release page using the API (or a CI shortcut)
TODO list:
- Create CI for compiling as Debian does for release (#3995)
- Create CI for compiling
perception_pcl, a large open-source downstream user of PCL (#3995) - Generate source code archives with SHA256 and SHA512 checksums (#4073)
- Generate release on the release page (#4073)
- Sign binaries using PGP key (needs org PGP key)
- Sign MacOS binaries properly (tracked by #3714)
- Creating Windows installers
- Creating Linux flatpack
- Creating Mac package
Describe alternatives you've considered
Manual release is not feasible in the long term. Considered and discarded.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing CI that compiles PCL and downstream perception_pcl and generates archives and checksums, then review the release-page automation described in #4073. Compare the unchecked TODO items—PGP signing, macOS signing, Windows installers, Linux Flatpak, and macOS packaging—with the intended one-click pipeline; done means the remaining release artifacts are produced and published without manual input.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system, ci-cd, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100