Elixer
Elixir CI op GitHub Actions
mix deps.get en compilatie beginnen beide elke keer opnieuw vanaf niets.
4m → 30s
Compileren
9m → 3m
Volledige pijplijn
mix deps.get en compilatie beginnen beide elke keer opnieuw vanaf niets.
Waarom het gebeurt
deps/ en _build/ worden niet in de cache opgeslagen, dus elke afhankelijkheid wordt opnieuw gecompileerd, ook al is er niets veranderd.
Wat te veranderen
- Cache deps/ en _build/ ingetoetst op mix.lock en de OTP/Elixir-versies
- Compileer één keer met MIX_ENV=test en hergebruik het voor zowel credo als tests
- Voer --warnings-as-errors uit in een aparte snelle taak, zodat deze vroegtijdig mislukt
- Gebruik de ingebouwde asynchrone tests van ExUnit; de meeste suites laten ze per ongeluk uitgeschakeld
Elixer op runnerhut
yaml
jobs: test: runs-on: runnerhut-4vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 - uses: erlef/setup-beam@v1 with: { otp-version: '27', elixir-version: '1.18' } - run: mix deps.get - run: mix testDe enige runnerhut-specifieke regel is `runs-on: runnerhut-4vcpu-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.