Skip to content

chore: promote dev → main — add workflow_dispatch to squad-mark-released - #129

Merged
mpaulosky merged 3 commits into
mainfrom
dev
Apr 24, 2026
Merged

chore: promote dev → main — add workflow_dispatch to squad-mark-released#129
mpaulosky merged 3 commits into
mainfrom
dev

Conversation

@mpaulosky

Copy link
Copy Markdown
Owner

Summary

Promotes devmain to bring the workflow_dispatch trigger for squad-mark-released.yml to production.

What's included

  • ci: add workflow_dispatch to squad-mark-released.yml (PR ci: add workflow_dispatch to squad-mark-released.yml #128, squash-merged)
    • Adds manual trigger so Done → Released board migration can be run from Actions UI
    • Guards if condition for manual vs release-event runs
    • Safe tag_name fallback for manual dispatch

Why

squad-mark-released.yml never fired for v1.2.0 due to a timing race at release. Without workflow_dispatch, recovery required direct GraphQL mutations. This fix makes the workflow self-service going forward.

Closes no issue — maintenance/ops improvement.

mpaulosky and others added 3 commits April 24, 2026 08:45
Blog posts, README, and docs/index.html updated for v1.2.0. Reviewed and approved by Aragorn.
Fixes 3 review blockers identified in PR #126 review:

- docs/index.html: npm run css:watch → npm run tw:watch (matches root package.json)
- README.md + kickoff blog post: Aspire 13.2.2 → 13.2.3 (matches Directory.Packages.props)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
## Summary

Adds `workflow_dispatch` trigger to `squad-mark-released.yml` so the
Done → Released project board migration can be run manually.

## Problem

When v1.2.0 was published, `squad-mark-released.yml` did not fire —
likely because the release event and workflow landing on `main` had a
timing race. With no manual trigger, the only recovery path was direct
GraphQL mutations.

## Changes

- Add `workflow_dispatch: {}` trigger
- Update job `if` condition to always run on manual dispatch (skip the
pre-release/draft guard for `workflow_dispatch` events)
- Use `context.payload.release?.tag_name ?? 'manual dispatch'` to
prevent null-ref in the summary notice

## Testing

After merge to `dev` → `main`, the workflow will appear under **Actions
→ Squad Mark Released → Run workflow** for manual recovery use.

---
> ⚠️ This PR should be fast-tracked to `main` so `dev` and `main` stay
in sync.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Boromir <boromir@squad.dev>
Copilot AI review requested due to automatic review settings April 24, 2026 16:51
@github-actions github-actions Bot added the squad Squad triage inbox — Lead will assign to a member label Apr 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🏗️ PR Added to Squad Triage Queue

This PR has been labeled with squad and added to the triage queue.

Next steps:

  • The squad Lead will review and assign to an appropriate team member
  • A squad:member label will be added after triage

If you know which squad member should handle this, you can add the appropriate squad:member label yourself.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results Summary

206 tests  ±0   206 ✅ ±0   15s ⏱️ -1s
  5 suites ±0     0 💤 ±0 
  5 files   ±0     0 ❌ ±0 

Results for commit 566c642. ± Comparison against base commit 362d978.

@mpaulosky

Copy link
Copy Markdown
Owner Author

✅ APPROVED — Aragorn, Lead Developer

CI: 27/27 checks passing (CodeQL + Aspire E2E included).

Diff Review:

This dev→main promotion contains previously-reviewed changesets:

  1. squad-mark-released.yml (PR ci: add workflow_dispatch to squad-mark-released.yml #128 — already approved by me): Adds workflow_dispatch: {}, correct if condition for manual vs release events, safe tag_name handling with optional chaining. ✅
  2. 3 workflow YAML files (milestone-blog, milestone-release-decision, release-blog): Whitespace indentation alignment only — no functional change to workflow behavior. ✅
  3. README.md: New status badges (xUnit, Release, CI/CD, CodeCov, issue/PR counters). Additive. ✅
  4. docs/blog/*.md + index.md + index.html: Bilbo's blog content. ✅

All gates green. Merging to main.

@mpaulosky
mpaulosky merged commit 6ab5e7d into main Apr 24, 2026
31 checks passed
@codecov

codecov Bot commented Apr 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.93%. Comparing base (e522b3f) to head (566c642).
⚠️ Report is 27 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #129   +/-   ##
=======================================
  Coverage   76.93%   76.93%           
=======================================
  Files          43       43           
  Lines         672      672           
  Branches      111      111           
=======================================
  Hits          517      517           
  Misses        105      105           
  Partials       50       50           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Promotes devmain and brings the “mark released” workflow improvements to production, alongside a larger documentation/blog update set that appears to have been included in the branch promotion.

Changes:

  • Adds workflow_dispatch support (and safe tag_name handling) to squad-mark-released.yml so board migration can be run manually.
  • Introduces/updates the Dev Blog (new docs/blog/* posts + index) and syncs a Dev Blog section + release history into README.md.
  • Updates several GitHub workflows that generate issue bodies (release/milestone blog briefs) and refreshes the GitHub Pages landing page (docs/index.html) content.

Reviewed changes

Copilot reviewed 10 out of 13 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
docs/index.html Updates the GitHub Pages landing page copy, project structure, and release/blog tables.
docs/blog/index.md Adds a blog index page that is also used as the source for README blog syncing.
docs/blog/2026-04-24-release-v1-2-0.md Adds release post content for v1.2.0 (Redis caching).
docs/blog/2026-04-24-release-v1-1-0.md Adds release post content for v1.1.0 (theming/testing).
docs/blog/2026-04-20-sprint-3-e2e-tests-ci-hardening.md Adds Sprint 3 recap post (E2E + CI hardening).
docs/blog/2026-04-20-sprint-2-cqrs-mediatr.md Adds Sprint 2 recap post (CQRS/MediatR).
docs/blog/2026-04-20-release-v1-0-0.md Adds v1.0.0 release milestone post (semver transition).
docs/blog/2026-04-18-myblog-project-kickoff.md Adds Sprint 1 kickoff post.
README.md Adds badges, expands overview/features, and embeds Dev Blog + release history tables.
.github/workflows/squad-mark-released.yml Adds workflow_dispatch trigger and guards release-only checks; adds manual tag fallback.
.github/workflows/release-blog.yml Adjusts issue body formatting for release blog brief creation.
.github/workflows/milestone-release-decision.yml Adjusts issue/comment body formatting for milestone decision automation.
.github/workflows/milestone-blog.yml Adjusts milestone review issue body formatting.

Comment on lines +103 to +116
### Blazor Component Tests with bUnit
```csharp
[TestClass]
public class ThemeToggleTests
{
[TestMethod]
public void ThemeToggle_RendersSwitchButtons()
{
using var ctx = new TestContext();
var cut = ctx.RenderComponent<ThemeToggle>();

cut.FindAll("button").Count.Should().Be(3);
}
}

Copilot AI Apr 24, 2026

Copy link

Choose a reason for hiding this comment

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

The bUnit test example uses MSTest attributes ([TestClass], [TestMethod]), but this repo’s test projects use xUnit. To avoid confusing readers and to keep examples consistent with the codebase, update the snippet to xUnit style (e.g., [Fact], constructor-based setup / fixtures).

Copilot uses AI. Check for mistakes.
Comment on lines 63 to +103
BODY="## Milestone Review: ${MILESTONE_TITLE}

Ralph, **${MILESTONE_TITLE}** has been closed with **${ISSUE_COUNT} issues** completed.
Current latest release: \`${LAST_TAG}\`
Ralph, **${MILESTONE_TITLE}** has been closed with **${ISSUE_COUNT} issues** completed.
Current latest release: \`${LAST_TAG}\`

### Closed Issues (${ISSUE_COUNT} total)
${ISSUES_LIST}
### Closed Issues (${ISSUE_COUNT} total)
${ISSUES_LIST}

---
---

## 🔍 Release Candidate Checklist
## 🔍 Release Candidate Checklist

Review these criteria to decide between a full release or a blog-only post:
Review these criteria to decide between a full release or a blog-only post:

| Criteria | Check |
|----------|-------|
| Contains user-facing features or enhancements? | (${FEATURE_COUNT} enhancement-labeled issues) |
| Contains breaking changes or schema migrations? | Review issues above |
| Significant enough to warrant a version bump? | Your call |
| All CI gates green on \`main\`? | Check GitHub Actions |
| Blog post needed either way? | **Yes — always** |
| Criteria | Check |
|----------|-------|
| Contains user-facing features or enhancements? | (${FEATURE_COUNT} enhancement-labeled issues) |
| Contains breaking changes or schema migrations? | Review issues above |
| Significant enough to warrant a version bump? | Your call |
| All CI gates green on \`main\`? | Check GitHub Actions |
| Blog post needed either way? | **Yes — always** |

---
---

## ✅ Your Decision
## ✅ Your Decision

**Option A — Release Candidate** (tag + GitHub Release + release blog post):
> Add the label **\`release-candidate\`** to this issue.
> Then choose the version bump type in the comment below (major / minor / patch).
**Option A — Release Candidate** (tag + GitHub Release + release blog post):
> Add the label **\`release-candidate\`** to this issue.
> Then choose the version bump type in the comment below (major / minor / patch).

**Option B — Blog Only** (milestone summary blog post, no release):
> Add the label **\`blog-only\`** to this issue.
**Option B — Blog Only** (milestone summary blog post, no release):
> Add the label **\`blog-only\`** to this issue.

Either choice will automatically:
- Trigger Bilbo to write the blog post
- Update \`docs/blog/index.md\` (the blog page)
- Sync \`README.md\` via the blog-readme-sync workflow
Either choice will automatically:
- Trigger Bilbo to write the blog post
- Update \`docs/blog/index.md\` (the blog page)
- Sync \`README.md\` via the blog-readme-sync workflow

---
---

*Triggered by milestone close at ${PUBLISH_DATE}. Workflow: \`milestone-blog.yml\`*"
*Triggered by milestone close at ${PUBLISH_DATE}. Workflow: \`milestone-blog.yml\`*"

Copilot AI Apr 24, 2026

Copy link

Choose a reason for hiding this comment

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

The BODY string here has leading indentation on almost every line. That whitespace will be preserved in the created issue and will cause Markdown to render large sections as code blocks (headings/tables/lists won’t format as intended). Remove the leading spaces from the BODY content (or use a heredoc with no indent) so the milestone review issue is readable and the checklist table renders properly.

Copilot uses AI. Check for mistakes.
Comment on lines +2 to +6
title: "Sprint 2: CQRS and MediatR Deep Dive"
date: 2026-04-20
author: Bilbo
tags: [cqrs, mediatr, testing, domain, sprint-2]
summary: "Sprint 2 establishes command-query separation and MediatR handlers for clean, testable domain logic."

Copilot AI Apr 24, 2026

Copy link

Choose a reason for hiding this comment

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

Front matter keys here (title, date, author, tags) don’t match the repo’s documented required front matter schema (post_title, post_date, author1, post_slug, etc.). Consider switching to the standard schema to keep docs consistent and compatible with any front-matter validators.

Suggested change
title: "Sprint 2: CQRS and MediatR Deep Dive"
date: 2026-04-20
author: Bilbo
tags: [cqrs, mediatr, testing, domain, sprint-2]
summary: "Sprint 2 establishes command-query separation and MediatR handlers for clean, testable domain logic."
post_title: "Sprint 2: CQRS and MediatR Deep Dive"
author1: Bilbo
post_slug: "sprint-2-cqrs-mediatr-deep-dive"
microsoft_alias: Bilbo
featured_image: ""
categories: []
tags: [cqrs, mediatr, testing, domain, sprint-2]
ai_note: false
summary: "Sprint 2 establishes command-query separation and MediatR handlers for clean, testable domain logic."
post_date: 2026-04-20

Copilot uses AI. Check for mistakes.
Comment on lines +2 to +6
title: "MyBlog Project Kickoff: Building with .NET 10 and Clean Architecture"
date: 2026-04-18
author: Bilbo
tags: [aspire, blazor, clean-architecture, sprint-1]
summary: "The MyBlog project launches with a solid foundation: Blazor Server, .NET Aspire, and clean architecture—ready for modern web development."

Copilot AI Apr 24, 2026

Copy link

Choose a reason for hiding this comment

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

Front matter keys here (title, date, author, tags) don’t match the repo’s documented required front matter schema (post_title, post_date, author1, post_slug, etc.). Consider updating to the standard schema so these posts are consistent with the documented Markdown rules and any future validators.

Suggested change
title: "MyBlog Project Kickoff: Building with .NET 10 and Clean Architecture"
date: 2026-04-18
author: Bilbo
tags: [aspire, blazor, clean-architecture, sprint-1]
summary: "The MyBlog project launches with a solid foundation: Blazor Server, .NET Aspire, and clean architecture—ready for modern web development."
post_title: "MyBlog Project Kickoff: Building with .NET 10 and Clean Architecture"
author1: Bilbo
post_slug: myblog-project-kickoff-building-with-dotnet-10-and-clean-architecture
microsoft_alias: Bilbo
featured_image: ""
categories: [development]
tags: [aspire, blazor, clean-architecture, sprint-1]
ai_note: "No AI assistance disclosed."
summary: "The MyBlog project launches with a solid foundation: Blazor Server, .NET Aspire, and clean architecture—ready for modern web development."
post_date: 2026-04-18

Copilot uses AI. Check for mistakes.
Comment thread docs/blog/index.md
Comment on lines +1 to +2
# MyBlog Development Blog

Copilot AI Apr 24, 2026

Copy link

Choose a reason for hiding this comment

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

This file starts with an H1 heading and has no YAML front matter. The repo’s Markdown content rules apply to **/*.md and call for YAML front matter plus content starting at H2+. Consider adding the required front matter fields and changing # MyBlog Development Blog to ## ... (or moving the title into front matter) to align with the documented rules.

Suggested change
# MyBlog Development Blog
---
post_title: MyBlog Development Blog
author1: Bilbo
post_slug: myblog-development-blog
microsoft_alias: bilbo
featured_image: ""
categories:
- devops
tags:
- myblog
- architecture
- testing
- devops
- releases
ai_note: false
summary: Overview of the MyBlog technical blog, including recent posts, sprint-based updates, and release milestones.
post_date: 2026-04-24
---
## Overview

Copilot uses AI. Check for mistakes.
Comment thread docs/blog/index.md
Comment on lines +9 to +39
| 2026-04-24 | [Release: v1.2.0 — Redis Caching and L1/L2 Cache Strategy](./2026-04-24-release-v1-2-0.md) | release, v1.2.0, redis, caching, aspire, sprint-5 |
| 2026-04-24 | [Release: v1.1.0 — Blazor Theme System with TailwindCSS v4](./2026-04-24-release-v1-1-0.md) | release, v1.1.0, blazor, tailwind, theme, testing, sprint-4 |
| 2026-04-20 | [Release: v1.0.0 — Semantic Versioning and Production Readiness](./2026-04-20-release-v1-0-0.md) | release, semver, ci, devops |
| 2026-04-20 | [Sprint 3: E2E Testing and CI Hardening](./2026-04-20-sprint-3-e2e-tests-ci-hardening.md) | e2e, aspire, ci, testing, sprint-3 |
| 2026-04-20 | [Sprint 2: CQRS and MediatR Deep Dive](./2026-04-20-sprint-2-cqrs-mediatr.md) | cqrs, mediatr, testing, domain, sprint-2 |
| 2026-04-18 | [MyBlog Project Kickoff: Building with .NET 10 and Clean Architecture](./2026-04-18-myblog-project-kickoff.md) | aspire, blazor, clean-architecture, sprint-1 |

## By Sprint

### Sprint 1: Foundation
- [MyBlog Project Kickoff: Building with .NET 10 and Clean Architecture](./2026-04-18-myblog-project-kickoff.md)

### Sprint 2: CQRS & MediatR
- [Sprint 2: CQRS and MediatR Deep Dive](./2026-04-20-sprint-2-cqrs-mediatr.md)

### Sprint 3: Testing & CI
- [Sprint 3: E2E Testing and CI Hardening](./2026-04-20-sprint-3-e2e-tests-ci-hardening.md)

### Sprint 4: Theme System
- [Release: v1.1.0 — Blazor Theme System with TailwindCSS v4](./2026-04-24-release-v1-1-0.md)

### Sprint 5: Caching
- [Release: v1.2.0 — Redis Caching and L1/L2 Cache Strategy](./2026-04-24-release-v1-2-0.md)

## Release Timeline

| Release | Date | Focus |
|---------|------|-------|
| [v1.0.0](./2026-04-20-release-v1-0-0.md) | 2026-04-20 | Semantic versioning, production readiness |
| [v1.1.0](./2026-04-24-release-v1-1-0.md) | 2026-04-24 | Blazor theme system, test reorganization |
| [v1.2.0](./2026-04-24-release-v1-2-0.md) | 2026-04-24 | Redis caching, distributed cache strategy |

Copilot AI Apr 24, 2026

Copy link

Choose a reason for hiding this comment

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

The Dev Blog table uses double leading pipes (|| ...) and ./-prefixed links. blog-readme-sync.yml parses docs/blog/index.md expecting rows like | 2026-... | [Title](2026-...md) | ... |; the current formatting will produce malformed rows and can prevent clean README sync (e.g., docs/blog/./... links / extra empty column). Update the table to standard single-pipe Markdown rows and use bare relative filenames in links.

Suggested change
| 2026-04-24 | [Release: v1.2.0 — Redis Caching and L1/L2 Cache Strategy](./2026-04-24-release-v1-2-0.md) | release, v1.2.0, redis, caching, aspire, sprint-5 |
| 2026-04-24 | [Release: v1.1.0 — Blazor Theme System with TailwindCSS v4](./2026-04-24-release-v1-1-0.md) | release, v1.1.0, blazor, tailwind, theme, testing, sprint-4 |
| 2026-04-20 | [Release: v1.0.0 — Semantic Versioning and Production Readiness](./2026-04-20-release-v1-0-0.md) | release, semver, ci, devops |
| 2026-04-20 | [Sprint 3: E2E Testing and CI Hardening](./2026-04-20-sprint-3-e2e-tests-ci-hardening.md) | e2e, aspire, ci, testing, sprint-3 |
| 2026-04-20 | [Sprint 2: CQRS and MediatR Deep Dive](./2026-04-20-sprint-2-cqrs-mediatr.md) | cqrs, mediatr, testing, domain, sprint-2 |
| 2026-04-18 | [MyBlog Project Kickoff: Building with .NET 10 and Clean Architecture](./2026-04-18-myblog-project-kickoff.md) | aspire, blazor, clean-architecture, sprint-1 |
## By Sprint
### Sprint 1: Foundation
- [MyBlog Project Kickoff: Building with .NET 10 and Clean Architecture](./2026-04-18-myblog-project-kickoff.md)
### Sprint 2: CQRS & MediatR
- [Sprint 2: CQRS and MediatR Deep Dive](./2026-04-20-sprint-2-cqrs-mediatr.md)
### Sprint 3: Testing & CI
- [Sprint 3: E2E Testing and CI Hardening](./2026-04-20-sprint-3-e2e-tests-ci-hardening.md)
### Sprint 4: Theme System
- [Release: v1.1.0 — Blazor Theme System with TailwindCSS v4](./2026-04-24-release-v1-1-0.md)
### Sprint 5: Caching
- [Release: v1.2.0 — Redis Caching and L1/L2 Cache Strategy](./2026-04-24-release-v1-2-0.md)
## Release Timeline
| Release | Date | Focus |
|---------|------|-------|
| [v1.0.0](./2026-04-20-release-v1-0-0.md) | 2026-04-20 | Semantic versioning, production readiness |
| [v1.1.0](./2026-04-24-release-v1-1-0.md) | 2026-04-24 | Blazor theme system, test reorganization |
| [v1.2.0](./2026-04-24-release-v1-2-0.md) | 2026-04-24 | Redis caching, distributed cache strategy |
| 2026-04-24 | [Release: v1.2.0 — Redis Caching and L1/L2 Cache Strategy](2026-04-24-release-v1-2-0.md) | release, v1.2.0, redis, caching, aspire, sprint-5 |
| 2026-04-24 | [Release: v1.1.0 — Blazor Theme System with TailwindCSS v4](2026-04-24-release-v1-1-0.md) | release, v1.1.0, blazor, tailwind, theme, testing, sprint-4 |
| 2026-04-20 | [Release: v1.0.0 — Semantic Versioning and Production Readiness](2026-04-20-release-v1-0-0.md) | release, semver, ci, devops |
| 2026-04-20 | [Sprint 3: E2E Testing and CI Hardening](2026-04-20-sprint-3-e2e-tests-ci-hardening.md) | e2e, aspire, ci, testing, sprint-3 |
| 2026-04-20 | [Sprint 2: CQRS and MediatR Deep Dive](2026-04-20-sprint-2-cqrs-mediatr.md) | cqrs, mediatr, testing, domain, sprint-2 |
| 2026-04-18 | [MyBlog Project Kickoff: Building with .NET 10 and Clean Architecture](2026-04-18-myblog-project-kickoff.md) | aspire, blazor, clean-architecture, sprint-1 |
## By Sprint
### Sprint 1: Foundation
- [MyBlog Project Kickoff: Building with .NET 10 and Clean Architecture](2026-04-18-myblog-project-kickoff.md)
### Sprint 2: CQRS & MediatR
- [Sprint 2: CQRS and MediatR Deep Dive](2026-04-20-sprint-2-cqrs-mediatr.md)
### Sprint 3: Testing & CI
- [Sprint 3: E2E Testing and CI Hardening](2026-04-20-sprint-3-e2e-tests-ci-hardening.md)
### Sprint 4: Theme System
- [Release: v1.1.0 — Blazor Theme System with TailwindCSS v4](2026-04-24-release-v1-1-0.md)
### Sprint 5: Caching
- [Release: v1.2.0 — Redis Caching and L1/L2 Cache Strategy](2026-04-24-release-v1-2-0.md)
## Release Timeline
| Release | Date | Focus |
|---------|------|-------|
| [v1.0.0](2026-04-20-release-v1-0-0.md) | 2026-04-20 | Semantic versioning, production readiness |
| [v1.1.0](2026-04-24-release-v1-1-0.md) | 2026-04-24 | Blazor theme system, test reorganization |
| [v1.2.0](2026-04-24-release-v1-2-0.md) | 2026-04-24 | Redis caching, distributed cache strategy |

Copilot uses AI. Check for mistakes.
Comment on lines +2 to +6
title: "Release: v1.2.0 — Redis Caching and L1/L2 Cache Strategy"
date: 2026-04-24
author: Bilbo
tags: [release, v1.2.0, redis, caching, aspire, sprint-5]
summary: "v1.2.0 introduces intelligent caching with Redis: L1 in-memory, L2 distributed, with automatic invalidation on mutations."

Copilot AI Apr 24, 2026

Copy link

Choose a reason for hiding this comment

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

Front matter keys here (title, date, author, tags) don’t match the repo’s documented required front matter schema (post_title, post_date, author1, post_slug, etc.). If these blog posts are meant to be validated/processed the same way as other docs (e.g., ADRs), update the front matter to the required field names/shape so tooling and future validators won’t fail.

Suggested change
title: "Release: v1.2.0 — Redis Caching and L1/L2 Cache Strategy"
date: 2026-04-24
author: Bilbo
tags: [release, v1.2.0, redis, caching, aspire, sprint-5]
summary: "v1.2.0 introduces intelligent caching with Redis: L1 in-memory, L2 distributed, with automatic invalidation on mutations."
post_title: "Release: v1.2.0 — Redis Caching and L1/L2 Cache Strategy"
author1: Bilbo
post_slug: "release-v1-2-0-redis-caching-and-l1-l2-cache-strategy"
microsoft_alias: bilbo
featured_image: ""
categories: [releases]
tags: [release, v1.2.0, redis, caching, aspire, sprint-5]
ai_note: "No AI assistance was used in the creation of this post."
summary: "v1.2.0 introduces intelligent caching with Redis: L1 in-memory, L2 distributed, with automatic invalidation on mutations."
post_date: 2026-04-24

Copilot uses AI. Check for mistakes.
Comment on lines +2 to +6
title: "Release: v1.0.0 — Semantic Versioning and Production Readiness"
date: 2026-04-20
author: Bilbo
tags: [release, semver, ci, devops]
summary: "MyBlog reaches v1.0.0: semantic versioning replaces sprint tags, GitVersion automates releases, and we're production-ready."

Copilot AI Apr 24, 2026

Copy link

Choose a reason for hiding this comment

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

Front matter keys here (title, date, author, tags) don’t match the repo’s documented required front matter schema (post_title, post_date, author1, post_slug, etc.). If these blog posts are expected to comply with the same rules as other docs, update the front matter field names/required metadata accordingly.

Suggested change
title: "Release: v1.0.0 — Semantic Versioning and Production Readiness"
date: 2026-04-20
author: Bilbo
tags: [release, semver, ci, devops]
summary: "MyBlog reaches v1.0.0: semantic versioning replaces sprint tags, GitVersion automates releases, and we're production-ready."
post_title: "Release: v1.0.0 — Semantic Versioning and Production Readiness"
author1: Bilbo
post_slug: release-v1-0-0-semantic-versioning-and-production-readiness
microsoft_alias: bilbo
featured_image: /images/blog/release-v1-0-0.png
categories: [release]
tags: [release, semver, ci, devops]
ai_note: "No AI assistance was used in the creation of this post."
summary: "MyBlog reaches v1.0.0: semantic versioning replaces sprint tags, GitVersion automates releases, and we're production-ready."
post_date: 2026-04-20

Copilot uses AI. Check for mistakes.
Comment on lines 47 to +73
BODY="## Blog Post Brief: ${RELEASE_NAME}

Bilbo, a new GitHub Release has been published. Please write a dev blog post for **${RELEASE_NAME}**.
Bilbo, a new GitHub Release has been published. Please write a dev blog post for **${RELEASE_NAME}**.

### Post metadata
- **Suggested filename:** \`docs/blog/${PUBLISH_DATE}-release-${SLUG}.md\`
- **Suggested publish date:** ${PUBLISH_DATE}
- **Release:** [${TAG}](${RELEASE_URL})
- **Changelog range:** [\`${PREV_TAG}...${TAG}\`](https://github.com/${{ github.repository }}/compare/${PREV_TAG}...${TAG})
### Post metadata
- **Suggested filename:** \`docs/blog/${PUBLISH_DATE}-release-${SLUG}.md\`
- **Suggested publish date:** ${PUBLISH_DATE}
- **Release:** [${TAG}](${RELEASE_URL})
- **Changelog range:** [\`${PREV_TAG}...${TAG}\`](https://github.com/${{ github.repository }}/compare/${PREV_TAG}...${TAG})

### Release notes
$(gh api "repos/${{ github.repository }}/releases/tags/${TAG}" --jq '.body // "No release notes provided."')
### Release notes
$(gh api "repos/${{ github.repository }}/releases/tags/${TAG}" --jq '.body // "No release notes provided."')

### Suggested post structure
1. **Summary** — what this release delivers in 2–3 sentences
2. **What's New** — feature sections with code snippets and context
3. **Bug Fixes / Improvements** — notable fixes
4. **How to Upgrade** — any steps required (migrations, config changes)
5. **Stats** — test counts, coverage numbers, PR count
6. **What's Next** — upcoming work
### Suggested post structure
1. **Summary** — what this release delivers in 2–3 sentences
2. **What's New** — feature sections with code snippets and context
3. **Bug Fixes / Improvements** — notable fixes
4. **How to Upgrade** — any steps required (migrations, config changes)
5. **Stats** — test counts, coverage numbers, PR count
6. **What's Next** — upcoming work

### Instructions
- Write the post to \`docs/blog/${PUBLISH_DATE}-release-${SLUG}.md\`
- Update \`docs/blog/index.md\` to add the new post at the top of the Recent Posts table
- Follow existing post style (see \`docs/blog/2026-04-04-release-v0-7-0.md\`)
- Open a PR targeting \`main\` when complete
- Close this issue in the PR description with \`Closes #<this-issue>\`"
### Instructions
- Write the post to \`docs/blog/${PUBLISH_DATE}-release-${SLUG}.md\`
- Update \`docs/blog/index.md\` to add the new post at the top of the Recent Posts table
- Follow existing post style (see \`docs/blog/2026-04-04-release-v0-7-0.md\`)
- Open a PR targeting \`main\` when complete
- Close this issue in the PR description with \`Closes #<this-issue>\`"

Copilot AI Apr 24, 2026

Copy link

Choose a reason for hiding this comment

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

The BODY string includes significant leading indentation on each line (spaces before “Bilbo,”, headings, and list items). In GitHub-flavored Markdown those leading spaces will render much of the issue body as a code block, breaking headings/lists. Build the body without leading indentation (or use a heredoc and strip indentation) so the created issue renders correctly.

Copilot uses AI. Check for mistakes.
Comment on lines 64 to +71
gh issue comment "$ISSUE_NUMBER" --body "✅ **Release flow triggered.**

- Version bump: \`${BUMP}\`
- \`squad-milestone-release.yml\` dispatched — this will create the tag, push it, and publish a GitHub Release.
- \`release-blog.yml\` will fire automatically on release publish and create a \`squad:bilbo\` blog brief.
- Once Bilbo's PR merges, \`blog-readme-sync.yml\` will update \`README.md\` (the Page).
- Version bump: \`${BUMP}\`
- \`squad-milestone-release.yml\` dispatched — this will create the tag, push it, and publish a GitHub Release.
- \`release-blog.yml\` will fire automatically on release publish and create a \`squad:bilbo\` blog brief.
- Once Bilbo's PR merges, \`blog-readme-sync.yml\` will update \`README.md\` (the Page).

Closing this review issue."
Closing this review issue."

Copilot AI Apr 24, 2026

Copy link

Choose a reason for hiding this comment

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

This gh issue comment body includes leading indentation before the list items and the closing sentence. That indentation will be preserved and can cause Markdown to render the list as a code block in GitHub, reducing readability. Remove the leading spaces inside the quoted body so the bullet list formats correctly.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

squad Squad triage inbox — Lead will assign to a member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants