Building Scalable Swift Automation: From Project Generation to App Store Distribution

Leo Dion

⏱ 180-min-workshop
intermediate
09:00-12:00, Monday, 18th May 2026
Managing Swift projects at scale requires systematic automationβ€”from project generation to multi-platform testing to App Store distribution. This hands-on workshop teaches proven automation patterns for maintaining consistency across open-source libraries and commercial apps.

Outline

Part 1: Project Generation with Tuist (40 minutes)

Topics Covered

  • Tool version management with mise
  • Eliminating .xcodeproj merge conflicts
  • Tuist project generation from Swift DSL
  • Integrating remote and local Swift packages
  • Enforcing code quality with SwiftLint and swift-format
  • Multi-target app architectures

Hands-On Activities

  • Install and configure mise with development tools
  • Initialize Tuist project
  • Define project structure with Swift package dependencies
  • Create local Swift packages
  • Generate workspace with integrated packages
  • Observe complete project structure in Xcode

Discussion Points

  • Tool version consistency strategies
  • When to use local packages vs framework targets
  • Scaling architectures across teams

Part 2: CI/CD Foundation (35 minutes)

Topics Covered

  • Managing CI/CD across multiple repositories
  • Testing Xcode projects vs Swift packages
  • Reducing GitHub Actions complexity
  • Intelligent caching for build time improvements
  • Matrix testing across platforms

Hands-On Activities

  • Create GitHub Actions workflows for Xcode projects
  • Create GitHub Actions workflows for Swift packages
  • Configure platform matrices for both
  • Push and observe automated testing
  • Compare build times and performance metrics

Discussion Points

  • Testing strategy differences between projects and packages
  • When to extract code into packages for faster CI
  • Scaling automation across repositories

Part 3: Multi-Platform Testing (60 minutes)

Topics Covered

  • Swift beyond Apple platforms: Linux, Android, server-side
  • Full-stack Swift architecture with OpenAPI
  • Generating server-side and client code from OpenAPI specs
  • Type-safe client-server communication
  • Docker containers for server-side testing
  • Platform-specific quirks and differences
  • Swift Testing's conditional test capabilities
  • Cross-platform design patterns

Hands-On Activities

  • Define API contract in OpenAPI YAML
  • Generate Swift server code with OpenAPI Generator
  • Generate Swift client SDK from same specification
  • Write platform-specific tests with conditional traits
  • Create Dockerfiles for server-side Swift testing
  • Configure Docker-based Linux testing in CI
  • Add Android testing workflows
  • Run tests across all platforms
  • Test full-stack application with type-safe communication

Discussion Points

  • Benefits of contract-first API development
  • Maintaining API specifications in version control
  • Sharing code between client and server
  • Real-world platform bugs and solutions
  • Test trait strategies for different platforms
  • Full-stack Swift architecture decisions

Part 4: Distribution Automation (45 minutes)

Topics Covered

  • Manual TestFlight deployment challenges
  • Fastlane architecture and capabilities
  • App Store Connect API integration
  • Managing credentials securely in CI
  • Automated deployment workflows

Hands-On Activities

  • Configure Fastlane for TestFlight uploads
  • Set up GitHub Actions for automated deployment
  • Integrate App Store Connect API credentials
  • Test automated deployment pipeline
  • Verify builds in App Store Connect

Discussion Points

  • Deployment strategies and best practices
  • Versioning automation approaches
  • Managing beta testers and feedback

🏷 swift
🏷 automation
🏷 ci-cd
🏷 github-actions
🏷 testing
🏷 fastlane
🏷 cross-platform
🏷 workshop
🏷 hands-on
🏷 swift-testing
🏷 testflight
🏷 ios
🏷 macos
🏷 watchos
🏷 tvos
🏷 visionos
🏷 linux
🏷 android
🏷 tuist
🏷 mise
🏷 swiftlint
🏷 swift-format
🏷 tool-management
🏷 docker
🏷 server-side-swift
🏷 full-stack
🏷 vapor
🏷 containers
🏷 swift-package-manager
🏷 spm
🏷 package-dependencies
🏷 modularization
🏷 openapi
🏷 api-design

Leo Dion

Leo Dion is the founder of https://brightdigit.com, a full-stack Swift development company he's been running since 2012. He specializes in end-to-end Swift solutionsβ€”from iOS/macOS/watchOS to server-side Swiftβ€”and has shipped multiple App Store apps including Bushel (macOS virtualization for developers) and Heartwitch (Apple Watch health streaming). He's an active open source contributor with Swift packages including swift-build (popular GitHub Action for Swift CI/CD), MistKit (CloudKit REST API), SyntaxKit (code generation), DataThespian (SwiftData concurrency), PackageDSL, and SyndiKit (RSS parsing). Leo hosts https://empowerapps.show and has been speaking about Swift since its launch. He lives in Michigan with his wife Betsy and six kids. https://www.youtube.com/watch?v=WVXvIso24Sc&list=PLmpJxPaZbSnBTtrr4V6bksOfLVK4uK9q6.