Skip to content

Conversation

Copy link

Copilot AI commented Aug 26, 2025

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 on March 26th (Spring) and December 17th (Winter).

Key Features

🤖 Automated Workflows

Release Schedule (release-schedule.yml)

  • Triggers 4 weeks before scheduled releases (February 26th, November 19th)
  • 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 12th, December 3rd)
  • 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 19th, December 10th)
  • 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 (includes cover figure selection)

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 (March 26th and December 17th)
  • 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.


💡 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.

Copy link
Author

Copilot AI commented Aug 26, 2025

@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 AI and others added 2 commits August 26, 2025 09:03
…ed GitHub Actions

Co-authored-by: ClaudiaComito <39374113+ClaudiaComito@users.noreply.github.com>
Co-authored-by: ClaudiaComito <39374113+ClaudiaComito@users.noreply.github.com>
Copilot AI changed the title [WIP] [RFC] Improve release workflow Implement automated release workflow with scheduled GitHub Actions and issue templates Aug 26, 2025
Copilot AI requested a review from ClaudiaComito August 26, 2025 09:05
@ClaudiaComito ClaudiaComito added this to the 1.7.0 milestone Sep 1, 2025
@github-project-automation github-project-automation bot moved this to Todo in Roadmap Sep 1, 2025
@ClaudiaComito
Copy link
Contributor

Add to workflow:

  • select "cover figure"

@JuanPedroGHM JuanPedroGHM self-requested a review November 3, 2025 08:59
@ClaudiaComito ClaudiaComito marked this pull request as ready for review January 7, 2026 05:21
on:
schedule:
# 2 weeks before Easter (approximately March 15th)
- cron: '0 9 15 3 *'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- cron: '0 9 15 3 *'
- cron: '0 9 12 3 *'

for release date March 26th 2026

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in commit 7fffd84. Changed cron schedule to '0 9 12 3 *' for March 12 (2 weeks before March 26 release).

# 2 weeks before Easter (approximately March 15th)
- cron: '0 9 15 3 *'
# 2 weeks before Christmas (approximately December 15th)
- cron: '0 9 15 12 *'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- cron: '0 9 15 12 *'
- cron: '0 9 3 12 *'

for release date Dec 17 2026

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in commit 7fffd84. Changed cron schedule to '0 9 3 12 *' for Dec 3 (2 weeks before Dec 17 release).


on:
schedule:
# 2 weeks before Easter (approximately March 15th)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# 2 weeks before Easter (approximately March 15th)
# 2 weeks before March 26

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in commit 7fffd84. Comment now reads "2 weeks before March 26".

schedule:
# 2 weeks before Easter (approximately March 15th)
- cron: '0 9 15 3 *'
# 2 weeks before Christmas (approximately December 15th)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# 2 weeks before Christmas (approximately December 15th)
# 2 weeks before Dec 17

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in commit 7fffd84. Comment now reads "2 weeks before Dec 17".

Comment on lines 5 to 6
# 4 weeks before Easter (approximately March 1st)
- cron: '0 9 1 3 *'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# 4 weeks before Easter (approximately March 1st)
- cron: '0 9 1 3 *'
# 4 weeks before March 26
- cron: '0 9 26 2 *'

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in commit 7fffd84. Changed to '0 9 26 2 *' for Feb 26 (4 weeks before March 26 release).

Comment on lines 7 to 8
# 4 weeks before Christmas (approximately December 1st)
- cron: '0 9 1 12 *'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# 4 weeks before Christmas (approximately December 1st)
- cron: '0 9 1 12 *'
# 4 weeks before Dec 17
- cron: '0 9 19 11 *'

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in commit 7fffd84. Changed to '0 9 19 11 *' for Nov 19 (4 weeks before Dec 17 release).

@github-project-automation github-project-automation bot moved this from Todo to In Progress in Roadmap Jan 7, 2026
@ClaudiaComito ClaudiaComito modified the milestones: 1.7.0, 1.7.1 Jan 7, 2026
- Updated release dates to March 26 and Dec 17 (from Easter/Christmas approximations)
- Adjusted all workflow cron schedules accordingly:
  - release-schedule: 4 weeks before (Feb 26, Nov 19)
  - release-code-freeze: 2 weeks before (Mar 12, Dec 3)
  - release-notes-finalization: 1 week before (Mar 19, Dec 10)
- Added "Select cover figure" task to blog post preparation workflow and template

Co-authored-by: ClaudiaComito <39374113+ClaudiaComito@users.noreply.github.com>
Copy link
Author

Copilot AI commented Jan 7, 2026

Add to workflow:

  • select "cover figure"

Added in commit 7fffd84. The "select cover figure" task is now included in:

  • Blog post issue template (.github/ISSUE_TEMPLATE/release_blog_post.yml)
  • Blog post creation workflow (.github/workflows/release-schedule.yml)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

4 participants