ci-cd-setup
Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps. Use when setting up GitHub Actions, Xcode Cloud, or fastlane for continuous integration, TestFlight, or App Store deployment.
What this skill does
# CI/CD Setup Generator Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps. ## When This Skill Activates - User wants to automate their build and test process - User mentions GitHub Actions, Xcode Cloud, or fastlane - User wants to set up TestFlight or App Store deployment - User asks about continuous integration for their app ## Pre-Generation Checks Before generating, verify: 1. **Existing CI Configuration** ```bash # Check for existing CI files ls -la .github/workflows/ 2>/dev/null ls -la ci_scripts/ 2>/dev/null ls -la fastlane/ 2>/dev/null ``` 2. **Project Structure** ```bash # Find Xcode project/workspace find . -name "*.xcodeproj" -o -name "*.xcworkspace" | head -5 ``` 3. **Package Manager** ```bash # Check for SPM vs CocoaPods ls Package.swift 2>/dev/null ls Podfile 2>/dev/null ``` ## Configuration Questions ### 1. CI/CD Platform - **GitHub Actions** (Recommended) - Full control, extensive marketplace - **Xcode Cloud** - Native Apple integration, simpler setup - **Both** - GitHub for PRs/tests, Xcode Cloud for releases ### 2. Distribution Method - **TestFlight** - Beta testing via App Store Connect - **App Store** - Production releases - **Direct** (macOS only) - Notarized DMG/PKG distribution - **All** - Full pipeline from dev to production ### 3. Include fastlane? - **Yes** - Advanced automation, match for code signing - **No** - Simpler setup using xcodebuild directly ### 4. Code Signing Approach - **Manual** - Certificates in GitHub Secrets - **match** (fastlane) - Git-based certificate management - **Xcode Cloud Managed** - Apple handles signing ## Generated Files ### GitHub Actions ``` .github/workflows/ ├── build-test.yml # PR checks, unit tests ├── deploy-testflight.yml # TestFlight deployment └── deploy-appstore.yml # App Store submission ``` ### Xcode Cloud ``` ci_scripts/ ├── ci_post_clone.sh # Post-clone setup └── ci_pre_xcodebuild.sh # Pre-build configuration ``` ### fastlane ``` fastlane/ ├── Fastfile # Lane definitions ├── Appfile # App configuration └── Matchfile # Code signing (if using match) ``` ## Integration Steps ### GitHub Actions Setup 1. **Add Repository Secrets** (Settings > Secrets and variables > Actions): - `APP_STORE_CONNECT_API_KEY_ID` - API Key ID - `APP_STORE_CONNECT_API_ISSUER_ID` - Issuer ID - `APP_STORE_CONNECT_API_KEY_CONTENT` - Private key (.p8 content) - `CERTIFICATE_P12` - Base64-encoded .p12 certificate - `CERTIFICATE_PASSWORD` - Certificate password - `PROVISIONING_PROFILE` - Base64-encoded provisioning profile 2. **Create App Store Connect API Key**: - Go to App Store Connect > Users and Access > Keys - Generate API Key with "App Manager" role - Download the .p8 file (only available once) 3. **Export Certificate**: ```bash # Export from Keychain as .p12, then base64 encode base64 -i certificate.p12 | pbcopy ``` ### Xcode Cloud Setup 1. **Enable Xcode Cloud** in Xcode: - Product > Xcode Cloud > Create Workflow - Connect to App Store Connect 2. **Configure Workflow**: - Set start conditions (branch, PR, tag) - Configure environment variables - Set up post-actions (TestFlight, App Store) 3. **Add ci_scripts** to repository for customization ### fastlane Setup 1. **Install fastlane**: ```bash brew install fastlane ``` 2. **Initialize** (if starting fresh): ```bash fastlane init ``` 3. **Set up match** (optional, for code signing): ```bash fastlane match init fastlane match development fastlane match appstore ``` ## Best Practices ### Caching - Cache Swift Package Manager dependencies - Cache DerivedData for faster builds - Use selective caching to avoid stale artifacts ### Secrets Management - Never commit certificates or keys - Use environment variables for sensitive data - Rotate API keys periodically ### Build Optimization - Use incremental builds where possible - Parallelize test execution - Skip unnecessary steps on draft PRs ### Notifications - Slack/Discord integration for build status - Email notifications for failures - GitHub status checks for PRs ## References - [GitHub Actions for Xcode](https://github.com/actions/runner-images/blob/main/images/macos) - [Xcode Cloud Documentation](https://developer.apple.com/documentation/xcode/xcode-cloud) - [fastlane Documentation](https://docs.fastlane.tools) - [App Store Connect API](https://developer.apple.com/documentation/appstoreconnectapi)
Related in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.