Speeding up CI
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 20.6k
- Fork
- 3.3k
- Metriche di merge delle PR
- Metriche PR in attesa
Descrizione
CI is currently pretty slow. In particular, if there are several PRs in quick succession, we'll run out of CI capacity. A reasonable medium-term goal might to get CI builds finish in 10 minutes in typical cases. I'm not sure if that is realistic, however.
Here are some ideas about how to make things better:
- Drop appveyor (it seems redundant now) [done]
- Run selected slow tests only after a PR has been merged
- Alternatively, only run them once per PR iteration, and run on all platforms and Python versions after merge
- If a PR only touches mypyc, don't run non-compiled mypy tests
- Remove some slow tests from CI if they don't bring much value
- Run more tests in incremental mode
- If a PR only touches docs, don't run all tests
- Test fewer platform / Python version combinations (possibly only in PR builds)
- Speed up individual tests somehow
- Somehow get more CI capacity
Can anybody suggest more things that could help, or which of the above things would be worth pursuing first?
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.
Direzione di ricerca
La issue non indica file, test o punti di ingresso della CI e presenta diverse alternative invece di un’attività selezionata. Inizia identificando la configurazione della CI e misurando una build tipica; il lavoro sarebbe completato quando fosse stata concordata un’ottimizzazione con prove che la CI sia più veloce.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- ci-cd, developer-experience
- Tipo di issue
- Refactoring
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100