Bazel
Bazel CI op GitHub Actions
De hele waarde van Bazel is caching, en CI gooit de cache bij elke run weg.
24m → 8m
Koude bouw
24m → jaren 90
Warme bouw
96%
Actiecachehit
De hele waarde van Bazel is caching, en CI gooit de cache bij elke run weg.
Waarom het gebeurt
De lokale schijfcache en repositorycache worden niet bewaard, dus elke actie wordt opnieuw uitgevoerd ondanks dat Bazel beter weet.
Wat te veranderen
- Wijs --disk_cache naar een persistente map en cache deze tussen uitvoeringen
- Voeg een externe cache toe, zodat elke ontwikkelaar en elke CI-taak resultaten deelt
- Cache de cache van de repository, zodat externe afhankelijkheden niet opnieuw worden opgehaald
- Gebruik --jobs die overeenkomen met het aantal hardloperkernen
Bazel op runnerhut
yaml
jobs: build: runs-on: runnerhut-16vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 - run: | bazel build //... \ --disk_cache=~/.cache/bazel \ --repository_cache=~/.cache/bazel-repo \ --jobs=16De enige runnerhut-specifieke regel is `runs-on: runnerhut-16vcpu-ubuntu-2404`. Al het andere is standaard GitHub Actions — dezelfde acties, dezelfde geheimen en hetzelfde machtigingsmodel dat u vandaag de dag gebruikt.
Je volgende build kan twee keer zo snel zijn, voor de halve prijs
Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.