Naar inhoud springen

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

  1. Cache deps/ en _build/ ingetoetst op mix.lock en de OTP/Elixir-versies
  2. Compileer één keer met MIX_ENV=test en hergebruik het voor zowel credo als tests
  3. Voer --warnings-as-errors uit in een aparte snelle taak, zodat deze vroegtijdig mislukt
  4. 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 test
Een werkend uitgangspunt

De 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.