Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[v2] Consolidate runtime discovery, acquisition, and embedding

Aperta
#2,524 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Stack tecnologico
github, go, python, rust

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

sdk-v2

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-cli GitHub Releases rather than depending on @github/copilot npm 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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di github/copilot-sdk

Tutte le issue di github/copilot-sdk

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.