Naar inhoud springen

Robijn

Ruby CI op GitHub Actions

Bundle Install compileert bij elke run native edelstenen uit de broncode.

140s → 6s
bundel installeren
18m → 4m
RSpec

Bundle Install compileert bij elke run native edelstenen uit de broncode.

Waarom het gebeurt

Edelstenen zoals nokogiri, pg en grpc bouwen C-extensies, wat minuten kost, tenzij de gebouwde edelstenen in de cache worden opgeslagen.

Wat te veranderen

  1. Cacheleverancier/bundel ingetoetst op Gemfile.lock, zodat native extensies één keer worden gebouwd
  2. Stel de bundelconfiguratie-implementatie in op 'waar' voor reproduceerbare, lockfile-exacte installaties
  3. Voer RSpec parallel uit met parallel_tests op alle beschikbare cores
  4. Gebruik een snapshot-runner als de installatie nog steeds domineert; deze verwijdert de stap volledig

Robijn op runnerhut

yaml
jobs:
test:
runs-on: runnerhut-8vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with: { ruby-version: '3.3', bundler-cache: true }
- 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.