Reconcile main into dev before release - #212
Conversation
- PR #62: APPROVE — pre-push hook logic verified, clean infra fix - PR #63: conditional APPROVE — build confirmation needed before merge - PR #60: NEEDS_CHANGES — dirty state, missing copyright headers, wrong attribution - Systemic finding: squad-test.yml does not trigger on sprint/** PRs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add push trigger for sprint/** so direct pushes to sprint branches trigger the parallel test suite - Add sprint/** to pull_request.branches so PRs targeting sprint consolidation branches also run CI validation Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Update .NET SDK to 10.0.202 in global.json - Add docs/build-log.txt with build & test results - Include refactored code improvements Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…learnings Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
GitVersion auto-increments on main; v1.0.0-sprint3 is final sprint tag. Subsequent releases follow pure semantic versioning from v1.0.1 onwards. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Marks cutover from sprint-based tags to pure semantic versioning. GitVersion auto-increments Patch on main. This release validates the new versioning workflow: - main commit → CI GitVersion tags → GitHub Release creation Closes: versioning decision from sprint/4-planning Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
When CI runs on main after merge, create and push the git tag based on GitVersion-determined semver. This enables v1.0.1, v1.0.2, etc. to be automatically tagged without manual intervention. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add step to CI workflow that creates and pushes git tags for each commit to main, using GitVersion-determined semver. This completes the v1.0.1 release flow: - Merge PR to main - CI determines version with GitVersion - CI creates and pushes tag (v1.0.1, v1.0.2, ...) - Team creates GitHub Release from tag Closes: versioning automation setup
GitVersion v4 action no longer accepts 'useConfigFile'. Use 'configFilePath' to explicitly specify the GitVersion.yml location. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace deprecated 'useConfigFile' with 'configFilePath' in GitVersion action. This is required for gittools/actions/gitversion/execute@v4 to work properly.
The 'Create and Push Git Tag' step requires 'contents: write' permission to push tags to the repository. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Change 'contents: read' to 'contents: write' so the 'Create and Push Git Tag' step can push tags. This completes the automatic versioning workflow.
semVer includes pre-release height on non-main branches, resulting in tags like v1.0.0-101. On main, we want clean semver tags like v1.0.1, which comes from the majorMinorPatch output. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
GitVersion's semVer output includes pre-release height (e.g.
v1.0.0-101).
On main, we want clean v1.0.1 format, which comes from majorMinorPatch.
This ensures the first post-sprint release is tagged v1.0.1, not
v1.0.0-{height}.
Document the new automatic versioning workflow with GitVersion. This is the first commit after v1.0.0, which will trigger v1.0.1 tag creation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add RELEASE.md documenting the new automatic versioning workflow. This commit on main will trigger v1.0.1 tag creation via the CI workflow.
Aligns with squad naming conventions and PRD specification. All squad-managed workflows use the 'squad-' prefix. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Align CI workflow naming with squad conventions. All squad-managed workflows use the 'squad-' prefix.
Merge dev into main for Sprint 4 release. Resolve workflow conflicts by accepting dev versions (squad-ci.yml, squad-test.yml). Also fix squad-preview validate to exclude AppHost.Tests/Bunit. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
## Sprint 4 Release — v1.1.0 Replaces PR #105 which had a merge conflict in workflow files (`squad-ci.yml`, `squad-test.yml`). ### Changes included All Sprint 4 work from `dev`: - feat: Blazor theme system (Sprint 4 issues #81–#86) - feat: VSA migration — move Domain.Features to Web (PR #104) - fix: Resolve all 7 flaky E2E tests in AppHost.Tests (PR #102) - refactor: Reorganize test projects (PR #100) - ci: Central Package Management (CPM) - ci: Fix squad-preview validate to skip AppHost.Tests/Bunit (unrunnable on plain runners) ### Conflict resolution `squad-ci.yml` and `squad-test.yml` had add/add and content conflicts from main having an older version. Resolved by accepting the `dev` versions (correct current state). --- Closes #105 _After merging, run **squad-milestone-release** to tag and publish v1.1.0._
## Sprint 5 Release — Redis & Caching (v1.2.0) Promotes `dev` → `main` for the Sprint 5 release. ### What's in this release - **`IBlogPostCacheService`** — caching contract with `GetOrFetchAllAsync`, `GetOrFetchByIdAsync`, `InvalidateAllAsync`, `InvalidateByIdAsync` - **`BlogPostCacheService`** — two-tier L1 (IMemoryCache, 1-min TTL) + L2 (Redis, 5-min TTL), registered as Singleton via `AddBlogPostCaching()` - All 4 BlogPost MediatR handlers refactored to inject `IBlogPostCacheService` only - 16 unit tests, 2 arch tests, 3 Redis integration tests (Testcontainers) - ADR: `docs/adr/sprint5-caching-abstraction.md` - CI: auto-move Done → Released on GitHub Release publish ### Closed issues Closes #109, #110, #111, #112, #113, #114 ### CI status All checks green on `dev` ✅
Fixes literal block scalar indentation in project-board-automation.yml, add-issues-to-project.yml, and squad-test.yml. All CI checks green.
…itHub Pages Promotes v1.2.0 documentation from dev to main: - 6 new blog posts (Sprints 1–5 + release milestones v1.0.0/v1.1.0/v1.2.0) in docs/blog/ - docs/blog/index.md — blog landing page with Latest Posts table (blog-readme-sync compatible) - README.md — full rewrite for v1.2.0 stack (Aspire 13.2.3, Redis, bUnit, 7 test projects) - Dev Blog section with BLOG_START/BLOG_END markers for automated sync - Release history table (v1.0.0 → v1.2.0) - docs/index.html — GitHub Pages overhauled for v1.2.0 (release table, blog links, npm tw:watch) - Workflow YAML heredoc indentation hardening (3 workflow files) Fixes from PR #127 included: correct npm script (tw:watch), blog-sync markers, Aspire 13.2.3. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
## Summary Promotes `dev` → `main` 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 #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. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Boromir <boromir@squad.dev>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Release PR: merge Sprint 6 code quality improvements into main for tagging and release. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Boromir <boromir@squad.dev>
Closes #211 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
🏗️ PR Added to Squad Triage QueueThis PR has been labeled with Next steps:
|
There was a problem hiding this comment.
Pull request overview
This PR appears to adjust internal Squad agent documentation, but the PR metadata describes a main → dev reconciliation intended to unblock a Sprint 13 release path.
Changes:
- Added an additional “Key Learnings” note to
.squad/agents/gimli/history.md.
| 4. **Runner JSON settings for integration tests** — Keep `parallelizeAssembly: false` for integration tests that share Docker containers. This prevents container port conflicts that would cause flaky tests. | ||
|
|
||
| 5. **Pre-push gate runs integration tests** — The repo's pre-push hook runs `tests/Web.Tests.Integration` automatically. All 12 tests passed including the Testcontainers-based MongoDB and Redis tests. | ||
| 2. Scope discipline matters here: do not churn nearby tests for unrelated convention gaps when the requested review is only about async continuation configuration. No newline at end of file |
There was a problem hiding this comment.
This line continues the ordered "Key Learnings" list but uses "2." after items 1–5 above, which makes the source numbering inconsistent and harder to follow. Update the list marker to the next number (e.g., "6.") or convert this note into a separate paragraph/bullet outside the ordered list.
| 2. Scope discipline matters here: do not churn nearby tests for unrelated convention gaps when the requested review is only about async continuation configuration. | |
| 6. Scope discipline matters here: do not churn nearby tests for unrelated convention gaps when the requested review is only about async continuation configuration. |
| 4. **Runner JSON settings for integration tests** — Keep `parallelizeAssembly: false` for integration tests that share Docker containers. This prevents container port conflicts that would cause flaky tests. | ||
|
|
||
| 5. **Pre-push gate runs integration tests** — The repo's pre-push hook runs `tests/Web.Tests.Integration` automatically. All 12 tests passed including the Testcontainers-based MongoDB and Redis tests. | ||
| 2. Scope discipline matters here: do not churn nearby tests for unrelated convention gaps when the requested review is only about async continuation configuration. No newline at end of file |
There was a problem hiding this comment.
The PR title/description indicate a main→dev reconciliation (conflict resolution, test project cleanup), but in this diff the only change is a single line in a history markdown file. If the reconciliation changes are missing from the PR, please include them; otherwise update the PR description to match the actual scope so reviewers can validate the right acceptance criteria.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #212 +/- ##
=======================================
Coverage 78.64% 78.64%
=======================================
Files 43 43
Lines 721 721
Branches 112 112
=======================================
Hits 567 567
Misses 108 108
Partials 46 46 🚀 New features to boost your workflow:
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
mainintodevto restore a clean release path before the Sprint 13 promotiondevxUnit v3 test state when resolving the backport conflictstests/Unit.Testsfiles frommainbecause that project is not part of the currentdevtest layoutCloses #211