[v2] Consolidate runtime discovery, acquisition, and embedding
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- backend-api-design, build-system, devops, release
Direzione di ricerca
Inizia esaminando #1934 e determina cosa coprono già #2395, #2463 e #2505, insieme al commit referenziato 05dd60e. Traccia i percorsi di acquisizione del runtime, packaging e incorporamento negli SDK interessati e identifica tutti i release asset richiesti di github/copilot-cli. Il lavoro è completo quando il contratto dell’artefatto documentato e i comportamenti di piattaforma, offline, override, checksum e cache sono implementati senza duplicare il lavoro già completato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Complete a coherent model for locating, acquiring, packaging, and embedding the Copilot runtime across all SDKs.
These items are planned work carried forward from #1934. Existing work may satisfy part of the required outcome; verify and build on it rather than reopening completed implementation. Do not omit remaining work without concrete new evidence and maintainer agreement.
Why this work exists
The original Rust build.rs was forked between in-process and out-of-process modes for backward compatibility. In-process operation needed the .node native binary, which was available from @github/copilot on npm but was not included in the GitHub CLI release. Depending on npm for that binary was not considered viable long term.
Rust and Go also used build-time flags to choose whether the in-process binary was embedded because it duplicated the Copilot SEA executable already embedded in the application bundle.
Python independently performed executable resolution through PATH (introduced by commit 05dd60e), which could select an arbitrary system installation rather than the runtime expected by the SDK.
Required outcomes
- Python does not implicitly select an executable through
PATH; it uses the SDK-managed runtime or an explicitly configured path. - The underlying runtime build and publishing process publishes the required raw native binaries as separate GitHub Release assets.
- SDKs acquire pinned, checksum-verified runtime artifacts from
github/copilot-cliGitHub Releases rather than depending on@github/copilotnpm artifacts. - Obsolete Rust and Go compile-time choices for embedding the in-process native library versus the executable runtime are removed.
- Packaging converges on a minimal bootstrap executable plus the required native dynamic library without duplicating the full SEA/native runtime payload.
- All supported platforms, offline/development scenarios, explicit overrides, checksums, and cache replacement behavior are covered.
Implementation preparation
- Determine exactly which outcomes #2395, #2463, and #2505 already satisfy.
- Complete rather than duplicate applicable in-progress work.
- Identify and link any missing release assets or changes required from
github/copilot-cli. - If a remaining change is compatible with v1, it may land there as groundwork while remaining part of this tracked outcome.
- Preserve backward compatibility where it does not conflict with the intended v2 cleanup, and document any runtime-version requirements.
Historical context
- #1934
- Commit
05dd60e - #2395
- #2463
- #2505
Completion
Deliver the required outcomes across affected SDKs with a documented artifact contract and platform coverage. Any outcome considered obsolete or infeasible requires concrete evidence and explicit maintainer agreement before it is removed from scope.
- Lingua principale
- Java
- Stelle
- 10.5k
- Fork
- 1.5k
- Merge medio
- 1g 9h
- PR unite (30g)
- 130
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di github/copilot-sdk
-
agentic-workflows
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
github/copilot-sdk#2760 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
github/copilot-sdk#2759 ·
-
documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
github/copilot-sdk#2758 ·
-
agentic-workflows
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
github/copilot-sdk#2709 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
github/copilot-sdk#2673 ·
Tutte le issue di github/copilot-sdk
Issue simili
-
certification
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
[BUG] ECR GetAuthorizationToken returns a proxyEndpoint for the default region, not the request's Apertabug ecr
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Needs: Triage Type: Feature request
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
AntennaPod/AntennaPod#8794 ·
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100