Naar inhoud springen

Vonk

Spark CI op GitHub Actions

Spark-taken in CI besteden het grootste deel van hun tijd aan het opstarten van JVM en het samenstellen van jar.

5m → 45s
Montage

Spark-taken in CI besteden het grootste deel van hun tijd aan het opstarten van JVM en het samenstellen van jar.

Waarom het gebeurt

De assemblagepot wordt elke run opnieuw opgebouwd en de Ivy- of Coursier-cache is koud.

Wat te veranderen

  1. Cache de Ivy- en Coursier-mappen die zijn ingetoetst op de build-definitie
  2. Bouw de montagepot één keer en gebruik deze als artefact voor verschillende testtaken
  3. Voer Spark uit in de lokale modus met een vast parallellisme voor deterministische timing

Vonk op runnerhut

yaml
jobs:
test:
runs-on: runnerhut-8vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- run: sbt assembly
- run: spark-submit --master 'local[8]' target/app.jar
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.