Ingebouwde firmware
Ingebouwde firmware-CI op GitHub Actions
Cross-compilatie toolchains worden bij elke run gedownload en opnieuw opgebouwd.
3m → 8s
Gereedschapsketen instellen
9m → 2m
Bouw
Cross-compilatie toolchains worden bij elke run gedownload en opnieuw opgebouwd.
Waarom het gebeurt
Toolchain-archieven en de build-directory worden niet in de cache opgeslagen, dus elke firmware-build is koud.
Wat te veranderen
- Cache de toolchain-installatiemap die is ingetoetst op de toolchain-versie
- Gebruik ccache met de cross-compiler als opstartprogramma
- Bouw varianten als een matrix in plaats van opeenvolgend in één taak
Ingebouwde firmware op runnerhut
yaml
jobs: build: runs-on: runnerhut-8vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 - uses: hendrikmuhs/ccache-action@v1 - run: west build -b nucleo_f429ziDe enige runnerhut-specifieke regel is `runs-on: runnerhut-8vcpu-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.
Gerelateerd
Terraformterraform init downloadt elke provider bij elke run.PulumiDe installatie van plug-ins en afhankelijkheid wordt vóór elke preview uitgevoerd.KubernetesHet opstarten van een soort- of k3s-cluster duurt minuten voordat de tests beginnen.RoerUpdates van diagramafhankelijkheid en linting lopen elke keer vast.