Add CD Release Pipeline & License Check Workflow for timpani-rust#73
Merged
Conversation
Updated installation instruction for protobuf compiler.
Removed period from installation instruction for Ubuntu/Debian.
Removed period from installation instruction for Ubuntu/Debian.
Contributor
Author
|
Hey @basheerFZ Please review the code and merge, Below is verification link in my local forked repo:https://github.com/akshaylg0314/timpani-akshay/actions/runs/25851383612 |
basheerFZ
approved these changes
May 14, 2026
Contributor
basheerFZ
left a comment
There was a problem hiding this comment.
This PR will be enabling continuous deployment/ delivery to generate aritifacts and reports when release is made
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 PR Description
Add CD Release Pipeline & License Check Workflow for timpani-rust
This PR introduces a complete Continuous Delivery (CD) pipeline for timpani, adds a reusable license report workflow, fixes CI permission issues, and corrects artifact path mismatches found during initial pipeline runs.
Changes Implemented
1. New CD Release Pipeline (
.github/workflows/release.yml)✅ Triggers on
v*Git tag pushes (e.g.,v1.0.0)✅ Concurrency group prevents overlapping release runs
✅ Runs 4 CI gates in parallel before publishing: Rust CI, doc lint, YAML validation, license report
✅ Downloads all artifacts (coverage, deny, fmt, clippy, test, license reports) and uploads to GitHub Release via
svenstaro/upload-release-action@v2✅ Uploads documentation archive (
doc-archive.tar.gz) and compliance files (README, coding guidelines, release process)✅ Generates quality manifest using Eclipse Dash QueVee (
eclipse-dash/quevee@v1)✅ Final stage builds and pushes multi-arch container image to GHCR
2. New Reusable License Report Workflow (
.github/workflows/run-license-check.yml)✅ Reusable via
workflow_call— invoked from both CI dispatcher and release pipeline✅ Uses
Swatinem/rust-cache@v2for fast dependency caching✅ Installs
cargo-about --features cli(correct feature flag for the binary)✅ Runs
scripts/license_check.shand uploadsdist/licenses/*aslicense-reportartifact3. New Reusable Container Build Workflow (
.github/workflows/build-container.yml)✅ Builds multi-arch (
linux/amd64,linux/arm64) container image✅ Authenticates to GHCR and pushes using
docker/build-push-action@v6✅ Auto-tags using
docker/metadata-action@v5(semver + SHA tags)✅ Uses
./timpani_rust/Dockerfileas build context4. CI Dispatcher: License Change Detection (
.github/workflows/ci-dispatcher.yml)✅ Added
license_changedoutput todetect-changesjob — triggers on changes to Cargo.toml,Cargo.lock, about.toml,about.hbs, license_check.sh✅ Added new Job 5
run-license-checkthat conditionally calls run-license-check.yml✅ Added
run-license-checktoci-summaryneeds for complete status reporting🧪 Test Method
Workflow Validation
actionlint— no errors foundPipeline Verification
v0.2.0) triggered release pipeline successfullydist/licenses/workspace_licenses.htmlcargo-aboutbinary available aftercargo install cargo-about --features=cli✅ Checklist
actionlintbefore pushingcontinue-on-error: trueapplied to conditionally-generated artifacts