fluvio-community / fluvio-community/fluvio

CI: Port publish and release functionality to Rust

Open
#3,003 0 comments 0 reactions 0 assignees View on GitHub
build-release CI DX/GENERAL enhancement technical debt
Dominant language
Rust
Stars
5.3k
Forks
530
PR merge metrics
No merged PRs in 30d

Description

Related to: #2998

Having the publish/release functions of CI collected into a CLI would lower the barriers for maintenance, and help diagnose "works on my machine" issues, and document troubleshooting steps in one context vs shell scripts, Makefiles, and GH Action configs.

This CLI can begin by duplicating the commands we run in GH Actions, preferably before we make any optimizations.

We would have to build this CLI before any other tests. But the outcome would result in more effective local testing and reduce the frequency we have to push commits to troubleshoot GH Actions-related issues. Someone who isn't as confident with the shell or make, but knows Rust can contribute or review PR with higher confidence.

I imagine this as a configurable cli tool that supports :
* Running shell commands for building artifacts for publish
* Creating GH releases to publish artifacts
* Downloading artifacts from GH Releases
* Update VERSION and create PR (prerelease candidates [alpha-n,beta-n], patch, minor, major, or custom)
* Generation of the CHANGELOG with respect to release
* Based on PRs in the commit message history
* Configuration for curating of the output (to handle transition to enforcing [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/))

---

This CLI should begin by duplicating the commands we run in GH Actions, preferably before we make significant optimizations. I will add caution, and suggest baby steps with integration into CI, because this is a critical area.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.