PointCloudLibrary / PointCloudLibrary/pcl

[Release] One click release

Open
#4,053 22 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind: todo module: ci needs: feedback skill: azure
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

  1. Release PR is merged to master
  2. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.