Naar inhoud springen

Snel

Swift CI op GitHub Actions

Snelle typecontrole domineert de bouwtijd en tussen de runs door wordt niets hergebruikt.

14m → 4m
Bouw
14m → jaren 70
Incrementeel

Snelle typecontrole domineert de bouwtijd en tussen de runs door wordt niets hergebruikt.

Waarom het gebeurt

De .build-directory van SwiftPM en DerivedData van Xcode worden verwijderd, dus bij elke run wordt de hele modulegrafiek gecontroleerd.

Wat te veranderen

  1. Persist .build voor SwiftPM- en DerivedData voor Xcode-projecten
  2. Vind langzame expressies met -Xfrontend -warn-long-expression-type-checking=200
  3. Modules splitsen, zodat een wijziging in één module niet alles ongeldig maakt
  4. Gebruik een M4 macOS-runner: Swift-compilatie is sterk single-thread-gevoelig

Swift op runnerhut

yaml
jobs:
test:
runs-on: runnerhut-macos-15-m4
steps:
- uses: actions/checkout@v4
- run: swift build --configuration release
- run: swift test --parallel
Een werkend uitgangspunt

De enige runnerhut-specifieke regel is `runs-on: runnerhut-macos-15-m4`. 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.