Naar inhoud springen

Clojure

Clojure CI op GitHub Actions

Het opstarten van JVM en het oplossen van afhankelijkheid kosten meer dan de tests.

Jaren 80 → 3s
Afhankelijkheid opgelost

Het opstarten van JVM en het oplossen van afhankelijkheid kosten meer dan de tests.

Waarom het gebeurt

~/.m2 en ~/.gitlibs zijn koud, en elke clj-aanroep betaalt de volledige JVM-startup.

Wat te veranderen

  1. Cache ~/.m2/repository en ~/.gitlibs ingetoetst op deps.edn
  2. Voer alle testnaamruimten uit in één JVM in plaats van één per naamruimte
  3. Precompileer met clj -T:build om herhaald AOT-werk te voorkomen

Clojure op runnerhut

yaml
jobs:
test:
runs-on: runnerhut-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- uses: DeLaGuardo/setup-clojure@v13
with: { cli: latest }
- run: clojure -M: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.