Skip to content

Conversation

@transphorm
Copy link
Member

@transphorm transphorm commented Oct 6, 2025

Summary

  • replace the PR body heredocs with python-based writers so the workflow YAML parses cleanly while preserving the release templates

Testing

  • not run (workflow changes only)

https://chatgpt.com/codex/tasks/task_b_68e3f4790160832dbcd6efadfc7424a0

Summary by CodeRabbit

  • Chores
    • Added scheduled Release Calendar workflow to automatically prepare release pull requests from development to staging (Fridays) and staging to production (Sundays).
    • Generates clear, date-stamped PR titles and bodies with standardized labels.
    • Includes safeguards to avoid duplicate or unnecessary PRs, running only when conditions are met.
    • Improves visibility and predictability of upcoming releases without impacting app functionality.

@transphorm transphorm merged commit cf20b87 into dev Oct 6, 2025
10 checks passed
@transphorm transphorm deleted the codex/add-automated-release-calendar-workflow-rp2wpg branch October 6, 2025 19:44
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 6, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a scheduled GitHub Actions workflow to automate creating release pull requests: dev→staging on Fridays and staging→main on Sundays. Each job verifies schedule/event, checks for existing PRs, ensures labels, computes PR body/title (with PR_DATE), and conditionally creates PRs using gh and a small Python snippet.

Changes

Cohort / File(s) Summary
Release calendar workflow
\.github/workflows/release-calendar.yml
New workflow with two scheduled jobs: release_to_staging (Friday) and release_to_production (Sunday). Includes guards for schedule-only runs, existing PR checks, label creation, branch divergence checks, dynamic PR bodies/titles, and conditional PR creation via GitHub CLI.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Cron as Cron (GitHub Schedule)
  participant GH as GitHub Actions
  participant JobF as Job: release_to_staging (Fri)
  participant JobS as Job: release_to_production (Sun)
  participant API as GitHub API (gh)

  Cron->>GH: Trigger workflow (scheduled)
  GH->>JobF: Start if Friday
  rect rgba(200,230,255,0.3)
    note over JobF: Friday flow: dev → staging
    JobF->>JobF: Verify event == schedule
    JobF->>API: Search existing PR dev→staging
    alt PR exists
      JobF-->>GH: Log and exit early
    else No PR
      JobF->>API: Ensure labels (release, automated, staging)
      JobF->>JobF: Compose PR body/title (PR_DATE)
      JobF->>API: Create PR dev→staging
      API-->>JobF: PR URL/ID
    end
  end

  GH->>JobS: Start if Sunday
  rect rgba(220,255,220,0.3)
    note over JobS: Sunday flow: staging → main
    JobS->>JobS: Verify event == schedule
    JobS->>API: Check staging ahead of main
    alt Not ahead
      JobS-->>GH: Log and exit early
    else Ahead
      JobS->>API: Search existing PR staging→main
      alt PR exists
        JobS-->>GH: Log and exit early
      else No PR
        JobS->>API: Ensure labels (release, automated, production)
        JobS->>JobS: Compose PR body (commits ahead, PR_DATE)
        JobS->>API: Create PR staging→main
        API-->>JobS: PR URL/ID
      end
    end
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

On Friday we stitch dev to stage,
On Sunday we ready the main page.
Labels aligned, dates in the thread,
Bots check the streams: ahead or not ahead.
With cron as the drummer and gh the quill,
Releases march forward—calm, precise, still.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch codex/add-automated-release-calendar-workflow-rp2wpg

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between be5f781 and 1d700d2.

📒 Files selected for processing (1)
  • .github/workflows/release-calendar.yml (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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants