Naar inhoud springen

Sporen

Rails CI op GitHub Actions

Precompilatie van activa en het bouwen van native edelstenen domineren de pijplijn.

3m → 20s
Precompilatie van activa
24m → 5m
Testsuite

Precompilatie van activa en het bouwen van native edelstenen domineren de pijplijn.

Waarom het gebeurt

vendor/bundle, node_modules en tmp/cache/assets zijn allemaal koud bij elke run.

Wat te veranderen

  1. Cache leverancier/bundel, node_modules en tmp/cache/assets samen
  2. Voer RSpec uit met parallel_tests op alle kernen
  3. Compileer assets alleen vooraf in de implementatietaak, niet in de testtaak
  4. Gebruik een snapshot-runner zodat de installatie van de bundel volledig verdwijnt

Rails op runnerhut

yaml
jobs:
test:
runs-on: runnerhut-8vcpu-ubuntu-2404
services:
postgres: { image: postgres:17, env: { POSTGRES_PASSWORD: postgres } }
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with: { bundler-cache: true }
- run: bundle exec rails db:test:prepare
- run: bundle exec parallel_rspec spec/
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.