aboutsummaryrefslogtreecommitdiffstats
path: root/codemagic.yaml
blob: c8a71ef5c8a02d3e2ed70db973a4ac14497f5d52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
workflows:
  capacitor-app-workflow:
    name: Capacitor iOS and Android Build
    max_build_duration: 60
    environment:
      node: latest
      vars:
        XCODE_WORKSPACE: "ios/App/App.xcworkspace"
        XCODE_SCHEME: "App"
        PACKAGE_NAME: "io.coinos"
      groups:
        - appstore_credentials # Add your credentials in Codemagic settings
    scripts:
      - name: Install npm dependencies
        script: |
          npm install
      - name: Build Web Assets and Sync Capacitor
        script: |
          npm run build
          npx cap sync ios
          npx cap sync android

    artifacts:
      - ios/App/build/ios/ipa/*.ipa
      - android/app/build/outputs/**/*.apk
      - android/app/build/outputs/**/*.aab

    publishing:
      app_store_connect:
        auth: $APP_STORE_CONNECT_API_KEY
        submit_to_testflight: true
      google_play:
        credentials: $GCLOUD_SERVICE_ACCOUNT_CREDENTIALS
        track: internal

    workflows:
      ios:
        name: iOS Build
        scripts:
          - name: Install CocoaPods
            script: |
              cd ios/App
              pod install
          - name: Build IPA
            script: |
              xcode-project build-ipa \
                --workspace "$XCODE_WORKSPACE" \
                --scheme "$XCODE_SCHEME" \
                --export-method app-store
      android:
        name: Android Build
        scripts:
          - name: Set up Android keystore
            script: |
              echo "$CM_KEYSTORE" | base64 --decode > android/app/keystore.jks
          - name: Build Android App Bundle (AAB)
            script: |
              cd android
              ./gradlew bundleRelease