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
- Cache leverancier/bundel, node_modules en tmp/cache/assets samen
- Voer RSpec uit met parallel_tests op alle kernen
- Compileer assets alleen vooraf in de implementatietaak, niet in de testtaak
- 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/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.