heat icon indicating copy to clipboard operation
heat copied to clipboard

Implement automated release workflow with scheduled GitHub Actions and issue templates

Open Copilot opened this issue 6 months ago • 2 comments

This PR implements the improved release workflow proposal from issue #1959, introducing automated preparation tasks for Heat's bi-annual release schedule.

Overview

The implementation adds comprehensive automation for release preparation while preserving human oversight for critical decisions. The system follows a structured timeline leading up to scheduled releases around Easter (Spring) and Christmas (Winter).

Key Features

🤖 Automated Workflows

Release Schedule (release-schedule.yml)

  • Triggers 4 weeks before scheduled releases (March 1st, December 1st)
  • Creates 5 comprehensive preparation issues automatically
  • Labels all open PRs with pr-talk for release discussion
  • Supports manual dispatch for ad-hoc releases

Code Freeze (release-code-freeze.yml)

  • Enforces code freeze 2 weeks before release (March 15th, December 15th)
  • Automatically labels and notifies all open PRs about freeze status
  • Provides clear guidelines on what changes are permitted

Release Notes Finalization (release-notes-finalization.yml)

  • Final preparation phase 1 week before release (March 22nd, December 22nd)
  • Creates critical review and testing checklists
  • Coordinates blog post review and release materials

📋 Issue Templates

Five new structured templates for release preparation:

  1. NEP 29 Compliance - Python/dependency version support verification
  2. Release Highlights - Feature selection and contributor recognition
  3. CITATION.cff Update - Metadata and contributor updates
  4. PR Merge Decisions - Strategic planning for included changes
  5. Blog Post Draft - Community announcement preparation

Each template includes:

  • Comprehensive task checklists
  • Resource links and documentation
  • Clear deadlines and priorities
  • Structured fields for consistent tracking

🏷️ Label Organization

  • release-prep - All automated preparation issues
  • pr-talk - PRs requiring release discussion
  • code-freeze-review - PRs under freeze evaluation
  • Task-specific labels: compliance, highlights, citation, blog-post
  • Priority indicators: high-priority, critical

📚 Documentation Updates

  • Enhanced RELEASE.md with automation details
  • Clear integration with existing manual processes
  • Workflow dispatch instructions for maintainers
  • Comprehensive label usage guidelines

Technical Implementation

  • 3 GitHub Actions workflows with security hardening and proper error handling
  • 5 YAML issue templates with validation and structured forms
  • Scheduled triggers using cron expressions for bi-annual releases
  • Manual override capabilities via workflow dispatch
  • YAML validation ensures syntax correctness and maintainability

Benefits

  1. Consistency - Ensures all release tasks are systematically addressed
  2. Timeline Management - Clear milestones and deadlines
  3. Community Coordination - Better visibility into release planning
  4. Reduced Manual Overhead - Automated issue creation and PR management
  5. Scalability - Structured approach that grows with the project

Integration

The automation handles the preparation phase while preserving the existing manual release process for actual publication. This ensures human oversight remains in place for critical decisions while eliminating repetitive administrative tasks.

Workflows can be triggered manually for off-schedule releases, and individual issue templates can be used independently when needed.

Fixes #1959.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot avatar Aug 26 '25 08:08 Copilot

@ClaudiaComito 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

Copilot avatar Aug 26 '25 08:08 Copilot

Add to workflow:

  • [ ] select "cover figure"

ClaudiaComito avatar Sep 03 '25 09:09 ClaudiaComito