-
Notifications
You must be signed in to change notification settings - Fork 0
🌟 [Breaking change]: Unified CI and Release Workflow #199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 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