Skip to content
cccskills
FreePublished on GitHub

ios-ci

Generate a GitHub Actions workflow for iOS — macOS runner, SPM/DerivedData caching, build, test on a simulator matrix, run the iOS pre-flight checks, and (optionally) sign + upload to TestFlight. Use when setting up CI for an iOS app.

The English summary is being prepared. Showing the original description.

Works withGitHub
See how to install

Files included (1)

  • SKILL.md3.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

iOS CI

Generate a GitHub Actions workflow for an iOS app. Complements (does not replace) /sdlc-core:setup-ci — this adds the iOS-specific pieces (macOS runners, simulators, signing). Belongs to the ios-release-engineer discipline.

Arguments

  • path-to-ios-project — the project directory (defaults to the current directory).

Steps

1. Establish the project shape

  • Workspace vs project, the scheme name, the deployment target, and whether it uses SwiftPM, CocoaPods, or Carthage (affects caching and the resolve step). Confirm the Xcode version to pin.

2. Generate the workflow

Produce an iOS CI workflow file under the .github/workflows/ directory with:

  • Runner: runs-on: macos-14 (or the current macOS runner); select Xcode with xcodes select / sudo xcode-select -s pinned to the project's Xcode version.
  • Caching: cache SwiftPM (~/Library/Caches/org.swift.swiftpm, .build) and/or CocoaPods (Pods, ~/Library/Caches/CocoaPods); keyed on the lockfile.
  • Build & test: xcodebuild build test -scheme <Scheme> -destination 'platform=iOS Simulator,name=iPhone 16,OS=latest' — use a simulator matrix across the OS versions you support; pass -resultBundlePath and surface failures.
  • Lint/format: SwiftLint / swift-format if the project uses them.
  • iOS pre-flight: run python -m ios_preflight.cli . so config regressions (missing purpose strings, export compliance, entitlements) fail CI before a release ever reaches App Store Connect.

3. (Optional) Signing + TestFlight upload job

Only if the project releases from CI:

  • Secrets: base64-encoded .p12, the .mobileprovision, keychain + .p12 passwords, and the App Store Connect API key (.p8 + key ID + issuer ID) — all in GitHub Actions encrypted secrets, never in the repo.
  • Signing: create + unlock a temporary keychain, import the .p12, run security set-key-partition-list, install the profile; prefer manual signing or fastlane match --readonly.
  • Archive + upload: xcodebuild archive/-exportArchive (Release + distribution profile) then upload via fastlane pilot, xcrun altool, or the App Store Connect API.
  • Build number: stamp CFBundleVersion from git rev-list --count HEAD (+ short SHA) so every CI build is unique, monotonic, and traceable to a commit.
  • Sandboxing: if a build-phase script reads git/env, that target may need ENABLE_USER_SCRIPT_SANDBOXING = NO.

4. Report

Summarise the workflow: what triggers it, the test matrix, whether it gates on pre-flight, and whether it uploads to TestFlight. Note any secrets the user must add before it will run.

Notes

  • Xcode Cloud is the first-party alternative (managed signing, no .p12 juggling) — mention it if the team is all-in on Apple tooling and doesn't need cross-platform CI steps.
  • Keep the signing/upload job separate from build/test so PRs run fast without secrets.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Generate a GitHub Actions workflow for Android — JDK + Gradle caching, build, unit + instrumented tests, Android Lint, run the Android pre-flight checks, and (optionally) sign + upload a signed app bundle to a Play track. Use when setting up CI for an Android app.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

Validated Google Play release — runs the pre-flight checks and clears the Play policy gates, builds a signed app bundle with a git-stamped versionCode, uploads to a track, and walks staged rollout (with halt/roll-forward). Use when releasing an Android app to Play.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

Scaffold a new Android app with SDLC and Play-safe defaults — Kotlin/Compose Gradle project with version catalog, convention plugins, module layout, a targetSdk that meets the Play mandate, R8 on release, and git-ignored signing so it passes the pre-flight checker from day one. Use when starting a new Android project.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

Set up Android app signing safely — generate an upload keystore, enroll in Play App Signing, and wire a Gradle release signingConfig that reads secrets from a git-ignored keystore.properties / CI (never committed). Use when configuring signing for a Play release.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

Pick an existing workflow for a task or author a new one — recommends workflow + team formation, or generates a fresh workflow YAML with command prompts and team validation.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

Guide the team through writing a change-impact record for IEC 62304 / FDA / ISO 26262 ASIL C+ projects. Surfaces the affected REQ/DES/TEST/CODE artefacts and captures human-attested verification approach.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

See all skills by SteveGJones

Report a problem with this skill