Deduplicate identical remote fetches across `inputs:` entries in buf.gen.yaml
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- go
- Ambito
- build-system, cli
Direzione di ricerca
Inizia tracciando il modo in cui gli input remoti ripetuti provenienti da buf.gen.yaml vengono risolti e recuperati, usando il repository di riproduzione collegato per riprodurre le richieste ripetute. Il lavoro è completato quando ogni remoto identico viene recuperato una sola volta tra tutti gli input e i remoti distinti e i diversi tipi di input, incluso git_repo, continuano a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Feature
When a single buf.gen.yaml (v2) declares multiple inputs: entries that resolve to the same remote (tarball, zip_archive, binary_image, etc...), the URL is re-fetched over and over.
It would be nice if this could be deduplicated to be a little more efficient and also avoid spamming the servers.
Usecase
In one of our mono-repos this is a non-issue because our services are all namespace well and we have a single buf.yaml representing everything as one module, but in others each service is treated as an independent module with a buf.yaml in the root listing each by path. When we package up an artifact containing all our .protos as a .tar.gz , or build into a .binpb we have to effectively reuse the same URL for each module we include in our buf.gen.yaml and this results in a bunch of unnecessary rapid hits to our hosts.
We also looked at fetching direct from github too (which would be really nice to avoid publishing artifacts at all), but the same refetching occurs for git_repo and limits us there too. Arguably its worse for that one because our repos are huge and re-pulling over and over is painfully slow.
Resources
While this isn't a bug, I did decide to go ahead and put together a repo to showcase the behavior incase it helps:
https://github.com/is-jonreeves/ghissues-buf-dedupe-remote-inputs
- Lingua principale
- Go
- Stelle
- 11.5k
- Fork
- 370
- Merge medio
- 3g 2h
- PR unite (30g)
- 35
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 bufbuild/buf
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 12/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
bufbuild/buf#4581 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Add a merge-base option to the buf-breaking checkForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaFeature
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
bufbuild/buf#4495 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Enable immutable releasesApertaFeature
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
bufbuild/buf#4425 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Feature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
bufbuild/buf#4422 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di bufbuild/buf
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
superplanehq/superplane#8604 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
documentation hacktoberfest priority: low skill: good first issue status: ready for dev
Difficoltà 2/5 Mezza giornata Idoneità per principianti 85/100
hyperledger-labs/fabric-smart-client#2142 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
numberly/vault-db-injector#107 ·
I maintainer di solito rispondono entro 1 giorno