Replies: 2 comments
-
|
@dhruvg20, I'm curious who the "we" is in "we've been exploring enhancements." @ssulei7 and I (@antgrutta) have been fighting an uphill battle for quite a while to get this adopted, so I'd love to know who else is investing this much time but hasn't found the actions-migrations-via-copilot Slack channel. There is a lot happening in the background. Certain technical decisions are being made based on other pending platform features, and we are hoping to have everything lined up for the ES offsite, where we plan to do a mass enablement and host a hackathon focused on the technical changes needed for the full release of the new Much of what you mentioned has already been considered. There are plans to move toward agentic workflows, use skills to replace MCP, and add compatibility with GHES via Copilot CLI based workflows. Some of what you described is actually already covered by the system today. There are also customer/developer experience improvemetents that need to be taken into account as we make decisions about implementing techncial changes. That said, while I appreciate the enthusiasm, there are a number of points in your post that I think need to be addressed. It feels like the AI may have gotten a little ahead of itself here. If you're genuine about contributing, here's what needs to happen next:
|
Beta Was this translation helpful? Give feedback.
-
|
Hey @antgrutta — thanks for the honest reply, really helpful to hear what's going on behind the scenes. A few things from my side:
FYI - SAP has also build a Jenkins based solution with internally hosted LLM model, but they seems to be doing it as side project, and they did share it. Seems like they doing a Q/A with LLM, compared to full Agentic flow, so they were really impressed with our solution, and wanted to get try it to get feedback to us. Their main challenge is GHES, and not having access to CCA, at the moment. They have massive set of Jenkins Pipeline ~50,000 pipelines, so migration at scale, but keeping it phased and they want their end teams to do these migrations by themselves, would be a great way to hear back feedback and enhance customer experience. Also I am expecting visibility from them on cost it will take for them, as in if the PRU consumption rate crosses a threshold of Enterprise/Business seats they have, and making it a phased migration to be done by them/their teams. Happy to hop on a call whenever works, just being in opposite timezones IST here. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hey team! 👋
First off — thank you to everyone who built and contributed to actions-migrations-via-copilot. It's a well-designed solution — the KB-driven agents, IssueOps batch orchestration, 5-phase process, and automation scripts work together really well. We've been using it as the foundation for customer migration programs and it's been serving us well.
With that as our starting point, we've been exploring enhancements that could extend the solution's reach into scenarios where the Copilot Coding Agent alone has limitations. We wanted to share our thinking early — before opening a formal PR — to get the team's perspective and input.
Nothing here replaces the existing solution. We're building on top of it, and the Coding Agent remains the default. We'd love your feedback on the direction.
TL;DR
We're exploring adding two complementary engines — the Copilot SDK and Copilot CLI — alongside the existing Copilot Coding Agent. All three would share the same agent prompts, knowledge base, and 5-phase migration process. The idea is to cover deployment scenarios (like GHES) and use cases (like ad-hoc developer migrations) where the Coding Agent can't reach today.
We're actively working on this in a fork and plan to open a PR to the main repo once we've gathered feedback and reached a solid state. This discussion is the first step.
What Prompted This?
We exploring this solution path for SAP which is GHES environment with Copilot Enabled on their IDE through a GHEC-EMU setup.
The existing solution works great for GHEC-based enterprise batch migrations. Through customer engagements, though, we've run into a few recurring scenarios where we needed more flexibility:
1. GHES Customers
The Coding Agent runs on github.com. Customers on GitHub Enterprise Server (GHES) — especially those with large on-prem Jenkins estates — can't use it directly. We've been looking at ways to run migrations inside the customer's network while still leveraging Copilot's LLM capabilities.
2. Quality Control
With the Coding Agent, the LLM decides when to fetch KB documents, run validation, and handle errors. In some engagements, we've wanted a way to programmatically enforce quality gates — ensuring
actionlintactually ran, capturing its real output, and handling failures explicitly.3. Model Flexibility
Being able to pin a specific model for reproducibility, or pick a model suited for a particular task (e.g., a reasoning model for complex Groovy expansion), has come up as a need.
4. Complex Pipeline Handling
Platforms like Jenkins — with shared libraries, Groovy DSLs, and multi-type pipelines — can benefit from custom tools and lifecycle hooks for more controlled processing.
5. Quick Developer Migrations
Not every migration needs a full IssueOps workflow. Engineers sometimes want to test a migration from their terminal in a couple of minutes.
What We're Exploring
A three-engine architecture that builds on the existing solution's foundation:
Engine Summary
workflow_dispatchghCLIWhat's Shared Across All Engines
What Would Each Engine Bring?
Copilot Coding Agent (Existing — Keep as Default)
Limitation: GHEC-only, no custom tools, no lifecycle hooks, no model selection.
Copilot SDK (New — Programmatic Engine)
actionlintruns and results are capturedCopilot CLI (New — Lightweight Engine)
ghCLI installedLimitation: Sequential, no batch support, no hooks, no automated PR creation.
How Does Engine Routing Work?
A unified
config.yamlroutes migrations to the right engine with priority-based resolution:Resolution priority: Per-Org > Per-Type > Default
This is fully backward-compatible. If you don't add the
migration_enginesection, everything uses the Coding Agent exactly as before.Challenges We're Thinking Through
submit-repositories.jswith engine-aware routing (dispatch to SDK/CLI workflows)Our plan: Once we've incorporated feedback from this discussion and stabilized the implementation, we'll open a PR against the main repo with the proposed enhancements. We want to make sure the direction makes sense to the broader team first.
Questions for the Team
We'd really appreciate the team's perspective on a few things:
1. GHES Deployment Model
For GHES customers, should we recommend:
copilot-setup-steps.yml(install at runtime on existing runners)2. Batch Orchestration Strategy
The Coding Agent uses IssueOps for batch. For SDK, we're considering
workflow_dispatchtriggers in target repos. For CLI, batch doesn't apply (sequential only). Is this the right paradigm split, or should we unify batch orchestration differently?3. Knowledge Base Access Pattern
Currently:
fetch_knowledge_basetool (GitHub API viagh api)--enable-all-github-mcp-toolsShould we standardize on one pattern, or keep engine-specific access methods?
What Happens Next
Thanks again for
actions-migrations-via-copilot— it's a solid foundation and we want to make sure any enhancements align with the team's direction.Please drop your thoughts, questions, or concerns in the comments. Even a quick 👍 or 👎 on the overall direction helps. We'll incorporate feedback before opening the PR.
👀 @antgrutta @robandpdx
Beta Was this translation helpful? Give feedback.
All reactions