Skip to content

feat: new workflow CI - #23

Merged
RambokDev merged 1 commit into
mainfrom
feat/new-workflow-ci
Mar 8, 2026
Merged

feat: new workflow CI#23
RambokDev merged 1 commit into
mainfrom
feat/new-workflow-ci

Conversation

@RambokDev

@RambokDev RambokDev commented Mar 8, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Chores
    • Implemented automated release workflow triggered on PR closure to main with skip-release support via PR title.
    • Enhanced Docker build process with multi-architecture support and semantic versioning for image tags.
    • Automated changelog generation and version management through release-it configuration.
    • Added Discord notifications for release announcements.
    • Removed legacy manual release scripts in favor of modern automation.

@coderabbitai

coderabbitai Bot commented Mar 8, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 19d60cf3-9022-43e3-9974-da00dc0a10db

📥 Commits

Reviewing files that changed from the base of the PR and between f973bc1 and 997ba2a.

📒 Files selected for processing (6)
  • .github/workflows/discord.yml
  • .github/workflows/docker.yml
  • .github/workflows/github.yml
  • .github/workflows/release.yml
  • .release-it.json
  • release

📝 Walkthrough

Walkthrough

The PR refactors release and notification automation by replacing shell scripts with declarative release-it configuration, restructuring GitHub Actions workflows into multi-stage orchestration with conditional execution, and introducing a reusable Discord notification workflow while updating Docker build logic for improved caching and tag management.

Changes

Cohort / File(s) Summary
Release Orchestration
.github/workflows/release.yml, .github/workflows/github.yml
Restructures release process from single-job to multi-stage (check-skip → create-release → publish-docker → finalize-release → notify-discord); adds conditional skip logic based on PR title; introduces release-it as primary release tool and GitHub API for draft release creation; replaces git tag workflow with proper versioning outputs.
Release Configuration
.release-it.json, release
Introduces release-it configuration with GitHub integration, conventional changelog plugin, and version bumping for Cargo.toml and CITATION.cff; removes legacy shell script release automation that manually updated version files and created git tags.
Notification Infrastructure
.github/workflows/discord.yml
Adds new reusable Discord notification workflow that accepts inputs for release tag, title, color, and footer; fetches release data via GitHub API; constructs and sends JSON embed payload to Discord webhook.
Docker Build Workflow
.github/workflows/docker.yml
Refactors image tagging with new architecture-aware tag preparation step; introduces Docker Buildx setup; adds per-platform build caching (cache-from/cache-to); implements dynamic semantic versioning (major, minor, patch, latest) for manifest tags via docker metadata action; consolidates artifact handling with new safe_platform output.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Poem

🐰 Workflows dance in stages new,
Release-it brings the version true,
Discord calls when work is done,
Docker caches, multi-run—
Automation hops along! 🎉

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/new-workflow-ci

Comment @coderabbitai help to get the list of available commands and usage tips.

@RambokDev
RambokDev merged commit a4a7a9a into main Mar 8, 2026
1 check was pending
@coderabbitai coderabbitai Bot mentioned this pull request Mar 9, 2026
This was referenced Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant