iOS
iOS CI op GitHub Actions
Xcode wordt vanuit het niets opgebouwd en code-ondertekening is kwetsbaar in CI.
18m → 4m
Incrementeel bouwen
26m → 8m
UI-testpakket
Xcode wordt vanuit het niets opgebouwd en code-ondertekening is kwetsbaar in CI.
Waarom het gebeurt
DerivedData wordt tussen uitvoeringen verwijderd en handtekeningmiddelen moeten elke keer in een nieuwe sleutelhanger worden geïmporteerd.
Wat te veranderen
- Persist DerivedData tussen runs: dit is de grootste overwinning
- Gebruik een speciale CI-sleutelhanger en importeer het certificaat één keer per taak
- Pin de Xcode-versie expliciet met xcode-select
- Shard UI-tests in verschillende simulators in plaats van ze serieel uit te voeren
iOS op runnerhut
yaml
jobs: ios: runs-on: runnerhut-macos-15-m4 steps: - uses: actions/checkout@v4 - run: sudo xcode-select -s /Applications/Xcode_16.4.app - run: | xcodebuild test \ -scheme App \ -destination 'platform=iOS Simulator,name=iPhone 16' \ -derivedDataPath ~/Library/Developer/Xcode/DerivedDataDe 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.
Gerelateerd
Reageer inheemsElke build compileert de native iOS- en Android-afhankelijkheden opnieuw vanaf de bron.AndroidGradle lost afhankelijkheden opnieuw op en de emulator heeft geen hardwareversnelling.FladderenDe Flutter SDK en pubcache worden bij elke run en voor elk platform gedownload.FastlaneFastlane Lanes besteden het grootste deel van hun tijd aan het installeren en ondertekenen van bundels.