-
-
Notifications
You must be signed in to change notification settings - Fork 60
Create top-level CI workflow with proper template workflow delegation #60
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
Create top-level CI workflow with proper template workflow delegation #60
Conversation
Co-authored-by: fulldecent <[email protected]>
|
HI @copilot good progress. See test output, documentation and how to correct run the configure script. But also you did NOT implement the required technique of using the top-level workflow to delegate to the project workflow. Here is documentation about how to do that: |
Co-authored-by: fulldecent <[email protected]>
I've implemented the workflow delegation pattern as requested. Changes made in commit 52ed796:
The top-level workflow now:
The configure script now runs successfully with environment variables for automation, and the delegation pattern follows the documentation you provided. |
This PR implements a comprehensive CI system for the Swift 6 Module Template repository that properly validates the template system using workflow delegation patterns.
Key Features
Top-Level CI Workflow (
.github/workflows/ci.yml)Creates a new workflow that validates the template system by:
configure.swiftscript with environment variables for automated project generationworkflow_callpattern as specified in GitHub Actions best practicesTemplate Workflow Modernization (
xxPROJECTxNAMExx/.github/workflows/ci.yml)Completely rewrote the template's CI workflow to:
workflow_calltrigger to make it reusable for delegationWorkflow Delegation Pattern
Implements proper delegation where:
configure.swiftuses: ./xxPROJECTxNAMExx/.github/workflows/ci.ymlworkflow_callTemplate Cross-Platform Compatibility
Updated template code to be truly cross-platform:
UIViewclass with cross-platformstructAPI@IBDesignable UIViewto pure Swift functions (greet(),whiteKing())Environment Variable Fix
Corrected environment variable mapping to match
configure.swiftexpectations:SMT_PROJECT_NAME→SMT_XXPROJECTXNAMEXXBefore/After Example
Before: No workflow delegation, incorrect environment variables
After: Proper delegation pattern with correct automation
The implementation follows GitHub Actions workflow delegation best practices, ensuring that template projects are validated using the same workflow they will actually use in production.
💡 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.