🌟 [Breaking change]: Unified CI and Release Workflow#199
Closed
MariusStorhaug wants to merge 6 commits intomainfrom
Closed
🌟 [Breaking change]: Unified CI and Release Workflow#199MariusStorhaug wants to merge 6 commits intomainfrom
MariusStorhaug wants to merge 6 commits intomainfrom
Conversation
- Analyzed existing workflow.yml and CI.yml to understand differences - Designed conditional execution logic for intelligent CI/Release mode switching - Created comprehensive data model for workflow state transitions - Documented workflow API contract maintaining backward compatibility - Created migration guide (quickstart.md) for consuming repositories - Updated copilot instructions with recent changes Constitutional compliance: - Workflow-First Design: Enhances existing reusable workflow - TDD: Test scenarios documented before implementation - Platform Independence: No platform-specific changes - Quality Gates: Existing gates preserved - Semantic Versioning: Breaking change requires v5.0.0 Breaking Change: CI.yml deprecated; unified workflow.yml handles both CI and release
- Added Clarifications session 2025-10-02 with 5 resolved questions - Updated FR-008: Publishing target is PowerShell Gallery - Updated FR-009: Semantic versioning with PR labels - Updated FR-011: Manual triggers execute tests only - Updated FR-012: Authentication via APIKEY and GITHUB_TOKEN - Updated NFR-001: GitHub Actions default timeouts - Marked requirement completeness checklist complete - All [NEEDS CLARIFICATION] markers removed
- Created 28 tasks across 5 phases (Setup, Tests, Core, Integration, Polish) - Phase 3.2: 6 test tasks covering CI-only, CI+Release, and manual trigger modes - Phase 3.3: 6 core tasks for conditional execution logic in workflow.yml - Phase 3.4: 6 integration tasks for deprecation and file removal - Phase 3.5: 7 polish tasks for documentation and validation - Marked 15 tasks as parallel [P] (different files, no dependencies) - Sequential tasks for workflow.yml modifications (T010-T015) - All test tasks before implementation (TDD red-green-refactor) - Added validation checklist (all items passed) - Updated PR #199 description with task checkboxes
…remove T017-T018 - Added T010: PR status check validation test (resolves H2 - FR-006 coverage gap) - Enhanced T016: Added fail-fast behavior validation (resolves H3 - FR-007 insufficient validation) - Removed T017-T018: Publish-Module.yml and Publish-Site.yml don't exist (resolves H5 - non-existent file removal) - Renumbered all subsequent tasks (T019-T028 → T017-T024) - Updated dependencies section with correct task numbers - Updated parallel execution examples with all 7 test tasks - Task count: 28 → 24 tasks (removed 4 obsolete tasks) Analysis findings addressed: H2, H3, H5 Remaining high priority: H1 (edge cases), H4 (file reference)
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR implements the complete specification and design documents for the unified CI and Release Workflow feature, consolidating separate CI.yml and workflow.yml files into a single intelligent workflow that conditionally executes release operations based on trigger context.
Key Changes:
- Complete feature specification with functional requirements and user scenarios
- Comprehensive implementation plan with constitutional compliance validation
- Detailed data model defining workflow execution modes and conditional logic
- Migration guide covering all repository scenarios and validation procedures
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| specs/001-merge-ci-release-workflows/spec.md | Feature specification defining user scenarios, functional requirements, and quality attributes for unified workflow |
| specs/001-merge-ci-release-workflows/plan.md | Implementation plan with technical context, constitutional compliance checks, and phase execution strategy |
| specs/001-merge-ci-release-workflows/research.md | Research analysis of current workflow architecture and consolidation strategy decisions |
| specs/001-merge-ci-release-workflows/data-model.md | Workflow state model defining CI-only vs CI+Release execution modes and conditional logic entities |
| specs/001-merge-ci-release-workflows/contracts/workflow-api.md | API contract specification maintaining backward compatibility while adding conditional execution |
| specs/001-merge-ci-release-workflows/quickstart.md | Migration guide with validation procedures for three repository scenarios |
| specs/001-merge-ci-release-workflows/tasks.md | Task breakdown with TDD approach, parallel execution markers, and dependency management |
| .github/copilot-instructions.md | Updated active technologies and recent changes to reflect unified workflow implementation |
…d enhance workflow documentation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR consolidates the separate CI (CI.yml) and release (workflow.yml) workflows into a single unified workflow that intelligently handles both continuous integration testing and automated release publishing based on trigger context.
Key Changes for Users:
Why This Matters:
How It Works:
The unified workflow uses conditional execution logic to intelligently determine which jobs to run based on the trigger context. CI tests always run, but publish operations only execute when changes are merged to the main branch or pushed directly to main. This prevents accidental releases while maintaining full testing coverage on all events.
Migration Impact:
See the comprehensive migration guide for detailed migration instructions and validation procedures.
Implementation Tasks
Phase 3.1: Setup
Phase 3.2: Tests First (TDD)⚠️ MUST COMPLETE BEFORE 3.3
Phase 3.3: Core Implementation (ONLY after tests are failing)
Phase 3.4: Integration
Phase 3.5: Polish