Skip to content

Update version CI/CD#14

Merged
hpware merged 6 commits intomasterfrom
canery
Dec 9, 2025
Merged

Update version CI/CD#14
hpware merged 6 commits intomasterfrom
canery

Conversation

@hpware
Copy link
Copy Markdown
Owner

@hpware hpware commented Dec 9, 2025

Summary by CodeRabbit

  • Chores

    • Automated release notes generation system integrated into CI/CD pipeline.
    • Version management workflow enhanced with improved stable release handling and branch management.
    • Updated build workflow for better version tracking and release coordination.
  • Documentation

    • Release v0.1.11 published with complete changelog and deployment information.

✏️ Tip: You can customize this high-level summary in your review settings.

@dokploy-hpwartwweb2
Copy link
Copy Markdown

Dokploy Preview Deployment

Name Status Preview Updated (UTC)
app 🔄 Building Preview URL 2025-12-09T12:51:35.012Z

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Dec 9, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Introduces automated version management and release notes generation through new Node.js scripts in .github/scripts/, updates the GitHub Actions workflow to orchestrate version increments and release processes, and creates version tracking data files. The system categorizes commits, generates formatted release documentation, and manages version artifacts for stable releases.

Changes

Cohort / File(s) Summary
Version Management Scripts
​.github/scripts/generate-release-notes.js, ​.github/scripts/increment-version.js, ​.github/scripts/manage-versions.js
New comprehensive version management module (manage-versions.js) consolidates version parsing, incrementing, stable release detection, project data updates, and release notes generation. New generate-release-notes.js script automates commit-based release notes. Enhanced increment-version.js with isStableRelease detection. All three export public helper functions for testing.
GitHub Actions Workflow
​.github/workflows/version-and-build.yml
Replaced version script reference (increment-version.js → manage-versions.js). Added version branching, release tag creation, and GitHub release publishing for stable releases. Extended commit staging to include projectData.ts, version.json, and conditionally Versions/* files. Expanded summary output with version comparisons and release metadata.
Version Data Files
version.json, apps/web/projectData.ts, Versions/v0-1-11.md
New version.json stores prod_version and dev_version. Updated projectData.ts version to "0.1.9-canery-4". Added release notes documentation for v0.1.11.

Sequence Diagram

sequenceDiagram
    actor GH as GitHub Actions
    participant WF as version-and-build.yml
    participant MV as manage-versions.js
    participant GIT as Git/Repository
    participant FS as File System
    participant GHAPI as GitHub API

    GH->>WF: Trigger workflow
    WF->>MV: Execute manage-versions script
    MV->>GIT: Get commits since last tag
    GIT-->>MV: Commit list
    MV->>MV: Categorize commits (features, fixes, etc.)
    MV->>MV: Increment version (stable/dev)
    MV->>FS: Read version.json
    FS-->>MV: Current versions
    MV->>FS: Write updated version.json
    MV->>FS: Read projectData.ts
    FS-->>MV: Current data
    MV->>FS: Write updated projectData.ts
    rect rgb(200, 220, 255)
        note right of MV: Stable release only
        MV->>MV: Generate release notes
        MV->>FS: Create Versions/v*.md file
        MV->>WF: Output: is_stable=true, new_version
    end
    WF->>FS: Stage updated files
    WF->>GIT: Commit version updates
    GIT-->>WF: Commit created
    rect rgb(200, 220, 255)
        note right of WF: Stable release only
        WF->>GIT: Create release branch
        WF->>GIT: Create version tag
        WF->>GHAPI: Create GitHub release
        GHAPI-->>WF: Release published
    end
    WF->>GH: Output summary & metadata
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

  • Areas requiring extra attention:
    • manage-versions.js — Multiple interconnected functions (version parsing, incrementing, file I/O, commit handling, release notes generation); logic correctness and edge cases in version derivation and branch-based logic
    • .github/workflows/version-and-build.yml — Substantial workflow restructuring with conditional branching for stable releases; ensure outputs, variables, and commit staging logic flow correctly across all scenarios
    • Integration between scripts — Verify that version data flows correctly from manage-versions.js through file writes and is properly consumed by the workflow

Possibly related PRs

  • Update to v0.1.10 #13 — Directly related; both PRs modify release/version automation infrastructure, including version management scripts and projectData version updates.

Poem

🐇 A bunny hops through versions bright,
With scripts that increment just right,
Release notes dance in Markdown grace,
Automation speeds the builder's pace!
From canery to stable ground,
Our workflow hops without a sound! 🚀

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch canery

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 02a5ba3 and abe13bd.

📒 Files selected for processing (7)
  • .github/scripts/generate-release-notes.js (1 hunks)
  • .github/scripts/increment-version.js (5 hunks)
  • .github/scripts/manage-versions.js (1 hunks)
  • .github/workflows/version-and-build.yml (4 hunks)
  • Versions/v0-1-11.md (1 hunks)
  • apps/web/projectData.ts (1 hunks)
  • version.json (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

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