codemagic.yaml
Rama main · réplica de lectura del repositorio original.
workflows:
# ─────────────────────────────────────────────
# iOS – App Store / TestFlight
# ─────────────────────────────────────────────
ios-workflow:
name: iOS Production Build
max_build_duration: 120
instance_type: mac_mini_m2
integrations:
app_store_connect: Apple
environment:
ios_signing:
distribution_type: app_store
bundle_identifier: com.dashboarr.app
node: 20
xcode: 26.4
cocoapods: 1.16.2
vars:
EAS_UPDATE_CHANNEL: production
triggering:
events:
- push
- tag
branch_patterns:
- pattern: main
include: true
source: true
tag_patterns:
- pattern: 'v*'
include: true
scripts:
- name: Install dependencies
script: |
corepack enable
corepack prepare pnpm@9.15.4 --activate
pnpm install --frozen-lockfile --prod=false
- name: Expo prebuild (generate native ios/ project)
script: |
pnpm exec expo prebuild --platform ios --clean --no-install
- name: Install CocoaPods
script: |
cd ios
pod install
- name: Set iOS version from package.json
script: |
APP_VERSION=$(node -p "require('./package.json').version")
BUILD_NUMBER=$(node -p "const [ma,mi,pa]=require('./package.json').version.split('.').map(Number); ma*10000+mi*100+pa")
cd ios
agvtool new-marketing-version "$APP_VERSION"
agvtool new-version -all "$BUILD_NUMBER"
- name: Apply provisioning profiles
script: |
cd ios
xcode-project use-profiles
test -f /Users/builder/export_options.plist || (echo "Missing /Users/builder/export_options.plist after use-profiles" && exit 1)
- name: Build iOS (archive)
script: |
cd ios
xcode-project build-ipa \
--workspace Dashboarr.xcworkspace \
--scheme Dashboarr \
--archive-flags="-destination 'generic/platform=iOS'"
artifacts:
- ios/build/ios/ipa/*.ipa
- /tmp/xcodebuild_logs/*.log
- ios/*.xcresult
publishing:
email:
recipients:
- renzobeux@gmail.com
notify:
success: true
failure: true
app_store_connect:
auth: integration
submit_to_testflight: true
expire_build_submitted_for_review: true