Naar inhoud springen

Scala

Scala CI op GitHub Actions

sbt besteedt meer tijd aan het opstarten en oplossen dan aan het compileren.

Jaren 90 → 8s
sbt opstarten
11m → 3m
Compileren

sbt besteedt meer tijd aan het opstarten en oplossen dan aan het compileren.

Waarom het gebeurt

sbt start een JVM op, lost Coursier-afhankelijkheden op en laadt de build-definitie voordat een enkel bestand wordt gecompileerd.

Wat te veranderen

  1. Cache ~/.cache/coursier, ~/.sbt en de target/-mappen
  2. Gebruik sbt --client of voer alle taken uit in één enkele sbt-aanroep
  3. Schakel de incrementele compilercache van Zinc in voor alle uitvoeringen
  4. Geef de JVM 8 GB of meer: Scala-compilatie vergt veel geheugen

Scala op runnerhut

yaml
jobs:
test:
runs-on: runnerhut-8vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- uses: coursier/cache-action@v6
- run: sbt "compile; test"
Een werkend uitgangspunt

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