Speeding up CI
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
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?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Das Issue nennt keine Dateien, Tests oder CI-Einstiegspunkte und stellt mehrere Alternativen statt einer ausgewählten Aufgabe vor. Beginne damit, die CI-Konfiguration zu identifizieren und einen typischen Build zu messen; als abgeschlossen würde eine vereinbarte Optimierung gelten, für die nachgewiesen ist, dass die CI schneller ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- ci-cd, developer-experience
- Issue-Typ
- Refactoring
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100