Giter Site home page Giter Site logo

codemagic-ci-cd / codemagic-docs Goto Github PK

View Code? Open in Web Editor NEW
79.0 5.0 114.0 19.97 MB

Here you’ll find some essential information for setting up CI/CD for your mobile apps with Codemagic.

Home Page: https://docs.codemagic.io

License: MIT License

CSS 1.86% JavaScript 15.81% Shell 0.15% HTML 59.86% Batchfile 0.05% SCSS 22.28%
codemagic codemagic-user continuous-integration flutter-tool react-native ios android

codemagic-docs's People

Contributors

artemii-yanushevskyi avatar astdaria avatar bondarenkostas avatar codemagic-bot avatar craastad avatar dtrdic avatar helinanever avatar himesh-cm avatar icarusdust avatar k-codemagic avatar kevin-suhajda avatar kulakarla avatar madispp avatar maks avatar martinjeret avatar martlaub avatar mikhail-tokarev avatar mohammedbabelly20 avatar nevercode-rudrank avatar priitlatt avatar rafeysup93 avatar remarkov avatar rimanteval avatar rrrrents avatar rudrankriyam avatar sbis04 avatar tahatesser avatar todah-zg avatar vearnold avatar vladyslavbondarenko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

codemagic-docs's Issues

Add commands to build Android

As requested by a customer, we should add to the docs what command to build an .apk or .aab

.aab
./gradlew bundleRelease

.apk
./gradlew assembleRelease

Fails to fetch pub get from private repository

I have a flutter project which is fetching a package from a private repo on Github such as:

flutter_common:
    git:
      url: [email protected]:hoge/flutter-common.git
      ref: master

When I run flutter pub get on Github Actions which I set SSH key setting of the repository, It works.

But running on Codemagic, it fails. Even if I set this setting. I set the SSH private key of generating on my computer in an environment variable in your Codemagic configuration file.

How can I run flutter pub get with a private repository on Codemagic? Anyone has a solution?

SSO login for business/enterprise customers

Information about SSO should be added to the signup subsection in the getting started section.

SSO we support:

  • OpenID Connect
  • OAuth2
  • SAML

Business customers can add SSO for $50/month.

Enterprise plan includes SSO.

Flavor Workflow Ios Automatic code signing issue

Automatic signing works only for 2 workflow out of 5. The rest gives error such as == Building for iOS ==

xcode-project use-profiles
Configure code signing settings
Searching for files matching /Users/builder/Library/MobileDevice/Provisioning Profiles/.mobileprovision
Searching for files matching /Users/builder/Library/MobileDevice/Provisioning Profiles/
.provisionprofile
List available code signing certificates in keychain /Users/builder/Library/codemagic-cli-tools/keychains/24-12-21_g5b4xu8j.keychain-db
Searching for files matching /Users/builder/clone/ios/**/*.xcodeproj
Completed configuring code signing settings
Did not find matching provisioning profiles for code signing!
Generated options for exporting the project

  • Method: ad-hoc
  • Provisioning Profiles: []
  • Signing Certificate:
  • Signing Style: manual
  • Team Id:
    Saved export options to /Users/builder/export_options.plist

flutter build ipa --release --export-options-plist /Users/builder/export_options.plist --flavor meculium -t lib/main-meculium.dart --build-name=1.0.2 --build-number=3
Archiving com.example.com...
Automatically signing iOS for device deployment using specified development team in Xcode project: Q2N9BPD86Q
Running pod install... 7.0s
Running Xcode build...
Xcode archive done. 8.3s
Failed to build iOS app
Error output from Xcode build:

--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
{ platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
{ platform:iOS Simulator, id:BDBAD2FC-16AD-45F2-8BA2-1B6A744CAFB6, OS:14.5, name:iPad (8th generation) }
{ platform:iOS Simulator, id:03A783D6-D52A-4FFF-B04F-6A692F09A948, OS:15.0, name:iPad (9th generation) }
{ platform:iOS Simulator, id:5E28BE25-E070-45EB-AB47-12D439953F74, OS:15.2, name:iPad (9th generation) }
{ platform:iOS Simulator, id:AF693EA2-3CEE-406E-9FD3-2AEF7C7AE4E0, OS:14.5, name:iPad Air (4th generation) }
{ platform:iOS Simulator, id:F98892BC-3737-4027-AFD2-BBDF1C17ECBF, OS:15.0, name:iPad Air (4th generation) }
{ platform:iOS Simulator, id:BF716E5F-06B8-44B6-AF79-A20FEE5CD454, OS:15.2, name:iPad Air (4th generation) }
{ platform:iOS Simulator, id:A9EBBABF-6741-4F1E-9139-E5713AF89F7E, OS:14.5, name:iPad Pro (9.7-inch) }
{ platform:iOS Simulator, id:E8CE8886-0B2C-43FF-8EEE-603A8A1685C8, OS:15.0, name:iPad Pro (9.7-inch) }
{ platform:iOS Simulator, id:5CEE762F-674E-41AD-94DF-48B807120673, OS:15.2, name:iPad Pro (9.7-inch) }
{ platform:iOS Simulator, id:CE50B412-8301-4439-86D9-218E9B520C64, OS:14.5, name:iPad Pro (11-inch) (2nd generation) }
{ platform:iOS Simulator, id:503ED4B8-9480-401C-99CC-F37B5E9DEDEE, OS:14.5, name:iPad Pro (11-inch) (3rd generation) }
{ platform:iOS Simulator, id:9FD9A6C7-96D1-427D-BBCA-DDE9DFA903BA, OS:15.0, name:iPad Pro (11-inch) (3rd generation) }
{ platform:iOS Simulator, id:13E7B931-0FA1-4DF7-A3B3-35641D91EAF0, OS:15.2, name:iPad Pro (11-inch) (3rd generation) }
{ platform:iOS Simulator, id:560D986F-3412-47DA-B037-69BBD7873E2B, OS:14.5, name:iPad Pro (12.9-inch) (4th generation) }
{ platform:iOS Simulator, id:99B14BF4-7966-4427-ACD1-34BFE4D26A01, OS:14.5, name:iPad Pro (12.9-inch) (5th generation) }
{ platform:iOS Simulator, id:EF9AE2FD-212D-4D6C-AF22-73D7491B8B7F, OS:15.0, name:iPad Pro (12.9-inch) (5th generation) }
{ platform:iOS Simulator, id:915A71A8-21B4-43E0-B8A7-54D3C19D6CCC, OS:15.2, name:iPad Pro (12.9-inch) (5th generation) }
{ platform:iOS Simulator, id:9E2823A4-64EA-4D60-A7EF-B401D4EE9D47, OS:15.0, name:iPad mini (6th generation) }
{ platform:iOS Simulator, id:062BC467-73D4-4667-A238-2207CDE338C1, OS:15.2, name:iPad mini (6th generation) }
{ platform:iOS Simulator, id:ED635705-38B8-41E4-977A-009F1893C7C8, OS:14.5, name:iPhone 8 }
{ platform:iOS Simulator, id:7C5473C2-9C4E-47E5-8282-442FDF8EB347, OS:15.0, name:iPhone 8 }
{ platform:iOS Simulator, id:557184DB-BC86-4D96-B073-EE865DFAFF8C, OS:15.2, name:iPhone 8 }
{ platform:iOS Simulator, id:6689C1EF-3619-4DE3-AF9F-4A0BAB1FD532, OS:14.5, name:iPhone 8 Plus }
{ platform:iOS Simulator, id:A634BCFD-FC7A-470C-889A-62808EDCE7B5, OS:15.0, name:iPhone 8 Plus }
{ platform:iOS Simulator, id:1328BA99-16C6-420C-AE3A-19B0C2BB0624, OS:15.2, name:iPhone 8 Plus }
{ platform:iOS Simulator, id:A8F9CFAD-11FF-46A2-B957-11CB50A189EE, OS:14.5, name:iPhone 11 }
{ platform:iOS Simulator, id:9392FD28-3E15-4CD2-B4D1-BD5B48E6238D, OS:15.0, name:iPhone 11 }
{ platform:iOS Simulator, id:A160C8D6-C529-4B7A-BB48-313FA2985D79, OS:15.2, name:iPhone 11 }
{ platform:iOS Simulator, id:1F17BDC6-F7BA-4D6C-AED3-19992BE39743, OS:14.5, name:iPhone 11 Pro }
{ platform:iOS Simulator, id:1228C53F-AD8F-494F-A7C3-4D53005062DF, OS:15.0, name:iPhone 11 Pro }
{ platform:iOS Simulator, id:829BD982-3245-4167-A2FD-1B632EBD5508, OS:15.2, name:iPhone 11 Pro }
{ platform:iOS Simulator, id:86ABCECA-0FF3-4244-925A-CEA93D003D6A, OS:14.5, name:iPhone 11 Pro Max }
{ platform:iOS Simulator, id:C47A5DA4-03E4-415C-9B28-CFE17AD81A4F, OS:15.0, name:iPhone 11 Pro Max }
{ platform:iOS Simulator, id:B325B296-9152-4C08-B195-6EE994D2F828, OS:15.2, name:iPhone 11 Pro Max }
{ platform:iOS Simulator, id:839F3C4C-B9BC-4F54-BF0F-84CE9BDF79E4, OS:14.5, name:iPhone 12 }
{ platform:iOS Simulator, id:243CD93E-F060-4413-936A-E1C717A78DBE, OS:15.0, name:iPhone 12 }
{ platform:iOS Simulator, id:4A9059CF-E08D-44B2-AAD7-D65A7BBEF166, OS:15.2, name:iPhone 12 }
{ platform:iOS Simulator, id:4E0DDFA4-6C79-4774-9616-20514A2A8714, OS:14.5, name:iPhone 12 Pro }
{ platform:iOS Simulator, id:D6C83C0B-6EF8-4866-B532-F4CF7ED69C50, OS:15.0, name:iPhone 12 Pro }
{ platform:iOS Simulator, id:D56DB4E9-00BB-461F-B67A-EE346087BB9F, OS:15.2, name:iPhone 12 Pro }
{ platform:iOS Simulator, id:EE34ECEA-7277-410B-90B2-23DEC7C06077, OS:14.5, name:iPhone 12 Pro Max }
{ platform:iOS Simulator, id:64FC4CC4-95DA-48FE-9980-8AB26CEE9892, OS:15.0, name:iPhone 12 Pro Max }
{ platform:iOS Simulator, id:D0F51A68-F863-40CD-80FD-E02290E66CFC, OS:15.2, name:iPhone 12 Pro Max }
{ platform:iOS Simulator, id:DEF97C06-7FB2-4895-9B5D-11CA40EB3213, OS:14.5, name:iPhone 12 mini }
{ platform:iOS Simulator, id:E2866178-464C-4D5C-A13D-3597F07DD133, OS:15.0, name:iPhone 12 mini }
{ platform:iOS Simulator, id:55880680-3683-47FC-958C-6631530A3721, OS:15.2, name:iPhone 12 mini }
{ platform:iOS Simulator, id:EF87D420-E8D1-4B12-B85C-4BBA52FBD220, OS:15.0, name:iPhone 13 }
{ platform:iOS Simulator, id:4535E403-5294-4602-BFD4-B1C957296A36, OS:15.2, name:iPhone 13 }
{ platform:iOS Simulator, id:AC52617F-729B-4308-8CDB-FD850720B274, OS:15.0, name:iPhone 13 Pro }
{ platform:iOS Simulator, id:DF3FDAAB-5131-45A6-A5AC-701786499EFF, OS:15.2, name:iPhone 13 Pro }
{ platform:iOS Simulator, id:25315873-BCF7-4159-B6E1-5BD7A2533650, OS:15.0, name:iPhone 13 Pro Max }
{ platform:iOS Simulator, id:E6286BC6-2669-4301-BC80-EC5EF5492B91, OS:15.2, name:iPhone 13 Pro Max }
{ platform:iOS Simulator, id:2D48F1AA-93AC-48DA-99E7-1B1D44ED5E66, OS:15.0, name:iPhone 13 mini }
{ platform:iOS Simulator, id:3DE7AA51-BDF2-409A-997E-A58DBFD669C9, OS:15.2, name:iPhone 13 mini }
{ platform:iOS Simulator, id:EA386A2D-32C2-4593-B2B9-2182F366C195, OS:14.5, name:iPhone SE (2nd generation) }
{ platform:iOS Simulator, id:B47CBB9A-B743-4983-AE42-D576BFB99930, OS:15.0, name:iPhone SE (2nd generation) }
{ platform:iOS Simulator, id:8915C15C-81AF-4B5F-BA78-2FC47CE77614, OS:15.2, name:iPhone SE (2nd generation) }
{ platform:iOS Simulator, id:14C619EC-2882-497C-A2A9-6130E2D2BF8C, OS:14.5, name:iPod touch (7th generation) }
{ platform:iOS Simulator, id:4F9DD40E-EB0B-4C05-876A-8E1FFC9BAEF8, OS:15.0, name:iPod touch (7th generation) }
{ platform:iOS Simulator, id:B3EFCA68-DC2C-4B85-BBCD-13153CE2ECCE, OS:15.2, name:iPod touch (7th generation) }
** ARCHIVE FAILED **

Xcode's output:

note: Using new build system
note: Planning
note: Build preparation complete
note: Building targets in dependency order
error: No profiles for 'com.example.com' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.example.com'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target 'Runner' from project 'Runner')

Encountered error while archiving for device.

Build failed :|
Failed to build for iOS

Add guide how to use Github packages for private dependencies

This originally came from a user that wanted to use private packages in their React Native Detox tests.

For future reference before finding a home in the docs (for a React Native Project), after you’ve set up your private GitHub npm package:

  1. Create a personal access token in GitHub - https://github.com/settings/tokens
  2. Encrypt the Personal access token in Codemagic (or add to an environment variable)
  3. Add an environment variable to your codemagic.yaml file called GITHUB_TOKEN and set its value to the encrypted Personal access token.
  4. Create a .npmrc file with the following contents (where @owner is your github username)
registry=https://registry.npmjs.org/
@owner:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}

Source: Github private package with CI/CD and @nevercode-kevin

Ios app not publishing to test flight and app store

I have done all setups for publishing to app store connect, the app is uploaded to test flight, it is not distributed on test flight and app store.
I also got the app on email.

image

image

Issue => it does not submitted for test flight testers, maybe it is not supported, but it is also not submitted to app store for review.
image

Reference build triggers from webhooks

Webhooks should reference to triggering section for yaml file and Build triggers for Workflow Editor (developers know about webhook to setup automatic builds but don't search for trigger word)

Moving repo from personal GitHub to organisation account

Users have had issues with moving repositories from personal GitHub account to organisation account.

e.g. https://codemagicio.slack.com/archives/CEKE2KZ37/p1634195217042100

Hey guys!
I’ve set up a private repository on Codemagic. I then transferred the repository to Organization, added the Codemagic app to Organization, and configured it. However, the transferred repository does not show up in the shared apps section. Instead, the repository before the transfer is shown. I assume this is because the previous information has not been updated. What should I do?
I’ll share the app I set up before the transfer.
https://codemagic.io/app/60f6f0440c5097715793bfbe/workflow/60f6f0440c5097715793bfbd/settings

would be great if we can reproduce and document this case in docs.

display logs for Timeouted builds

Currently, a user can't see a log in the Codemagic UI when the build has Timeout status.

Please display the log in the same way as for success/failed builds. It contains a lot of important information about Timeout reasons.

image

iOS code signing for xcodeworkspace that contains two xcodeproj

I am using codemagic to build CI/CD pipeline for my Flutter project. My project contains two xcodeproj in xcodeworkspace, and the bundle id are different. I failed following this documents[1 2]

How to do iOS code signing for a xcodeworkspace that contains two xcodeproj?

add example for uploading .dsym to firebase crashlytics

problem: customers have had issues with uploading deobfuscation symbols to Firebase Crashlytics

here is an example that @VeArnold and user came up with that worked according to user:

echo "Find build artifacts"
dsymPath=$(find ~/build.xcarchive -name "*.dSYM.zip" | head -1)
if [[ -z ${dsymPath} ]]
then
  echo "No debug symbols were found, skip publishing to Firebase Crashlytics"
else
  echo "Publishing debug symbols from $dsymPath to Firebase Crashlytics"
  ls -d -- ios/Pods/*
  $FCI_BUILD_DIR/ios/Pods/Crashlytics/iOS/Crashlytics.framework/upload-symbols -gsp ios/Runner/GoogleService-Info.plist -p ios $dsymPath
fi

publish release notes to App Store Connect and Google Play store - 1. does it requires .json or .txt is ok? 2. adjust App Store Connect with Testflight

https://docs.codemagic.io/publishing-yaml/publish-release-notes/

first paragraph leaves the impression that having .txt in repo is enough to publish release notes to Google Play and App Store Connect. I am not sure whether we require .json format in order to account for locale or we assign default locale. Looks like it is true for Google Play i.e. if .txt is present then en-US locale is used, but not for App Store Connect?

Let's use Testflight instead of App Store Connect to avoid confusion, since IIRC from discussions with @nevercode-kevin and @artemii-yanushevskyi we do not update App Store listing release notes "What's new" section, but only the Testflight part regarding "what's new" so testers know what to test. I realise App Store Connect is correct term, but in this case I fear it creates false assumption. In reality we only support TestFlight and not App Store.

In general I think we could do a better job with this section of docs.

Add publish to huawei app gallery to knowledge base

It would be helpful to add some guide to publish to Huawei App Gallery to our knowledge base. Fastlane has this quite readily available and creating a POC or referencing how it is possible with Fastlane could be helpful to people.

Dominik Roszkowski shared this in Codemagic slack. Let's reproduce and add to knowledge base:

Just wanted to share that with fastlane’s plugin I was able to upload aab to Huawei AppGallery Connect. The only thing you need to do is to:

  1. Add fastlane to your project
  2. Setup Huawei AppGallery API client
  3. Add this plugin https://github.com/shr3jn/fastlane-plugin-huawei_appgallery_connect
  4. Setup your Fastfile as below
  5. Add step to codemagic yaml/script as below
    To run you can call either fastlane huawei or bundle install && bundle exec fastlane huawei. After that the uploaded app and draft release were waiting for me in the AppGallery Connect.

Fastfile

lane :huawei do
    huawei_appgallery_connect(
        client_id: ENV["HUAWEI_CLIENT_ID"],
        client_secret: ENV["HUAWEI_SECRET"],
        app_id: "YOUR_ID_123465",
        apk_path: "./build/app/outputs/bundle/prodRelease/app-prod-release.aab",
        
        # Optional, Parameter beyond this are optional
        is_aab: true,
        submit_for_review: false,
    )
end

codemagic.yaml

      - |
        # Upload to Huawei AppGallery Connect
        bundle install
        bundle exe

using multiple ssh keys to fetch private dependencies

If person uses 1 SSH key to get private git submodules for example then everything works as expected, but when multiple keys are used then they get added to the SSH agent, but for git operations. In this particular case that I had and we have had before.

Flutter pub get uses the first key that was added to the agent and therefore will fail the build with the error that no such repository exists.

Possible solutions include swapping the order in which the keys get added to SSH agent, but I would like to investigate it a bit and update docs. One workaround is potentially explicitly add the key to use before the flutter pub get command.

         echo "${DART_SCHEMA_VALIDATION_SSH_KEY}" > /tmp/ssh_key
        chmod 600 /tmp/ssh_key
        eval `ssh-agent -s`
        ssh-add /tmp/ssh_key

how to solve this

import 'package:flutter/material.dart';

class Cart_products extends StatefulWidget {
@OverRide
_Cart_productsState createState() => _Cart_productsState();
}

class _Cart_productsState extends State<Cart_products> {
var Products_on_cart = [
{
"name": "Blazer",
"picture":"images/products/blazer1.png",
"prise":50,
"size":"M",
"color":"Black",
"quantity":1,

},
{
"name": "Pink Dress",
"picture":"images/products/dress1.png",
"prise":85,
"size":"M",
"color":"pink",
"quantity":1,
},
];
@OverRide
Widget build(BuildContext context) {
return new ListView.builder(
itemCount: 2,
itemBuilder: (context, index)
{
return Singal_cart_product(
cart_prod_name: Products_on_cart[index]["name"],
cart_prod_picture: Products_on_cart[index]["picture"],
cart_prod_prise: Products_on_cart[index]["prise"],
cart_prod_color: Products_on_cart[index]["color"],
cart_prod_size: Products_on_cart[index]["size"],
cart_prod_qty: Products_on_cart[index]["quantity"],
);
});
}
}

class Singal_cart_product extends StatelessWidget {
final cart_prod_name;
final cart_prod_picture;
final cart_prod_prise;
final cart_prod_size;
final cart_prod_color;
final cart_prod_qty;

Singal_cart_product({
this.cart_prod_name,
this.cart_prod_picture,
this.cart_prod_prise,
this.cart_prod_size,
this.cart_prod_color,
this.cart_prod_qty,
}
);
@OverRide
Widget build(BuildContext context) {
return Card(
child: ListTile(
//Leading Section//
leading: new Image.asset(
cart_prod_picture,
width:80.0,height:80.0
),
//title Section//
title:new Text(cart_prod_name),
//subtitle Section//
subtitle: new Column(
children: [
//Row Inside The Column //
new Row(
children: [
Padding(padding: const EdgeInsets.all(0.0),
child: new Text("Size:"),
),
Padding(padding: const EdgeInsets.all(0.0),
child: new Text(cart_prod_size, style: TextStyle(color: Colors.pinkAccent),),
),
new Padding(padding: const EdgeInsets.fromLTRB(16.0, 4.0, 4.0, 0.0),
child: new Text("Color:"),
),
Padding(padding: const EdgeInsets.all(1.0),
child: new Text(cart_prod_color, style: TextStyle(color:Colors.pinkAccent),),
),

          ],
        ),
        //this section is product prise//
        new Container(
          alignment: Alignment.topLeft,
          child: new Text("\$$cart_prod_prise",style: TextStyle(fontSize:17.0,
          fontWeight: FontWeight.bold,
          color: Colors.redAccent,
          ),
          ),
        ),
         ],
     ),
     trailing: new Column(
       children:<Widget>[
       IconButton(icon: Icon(Icons.arrow_drop_up), onPressed: (){}),
     
                IconButton(icon: Icon(Icons.arrow_drop_down),onPressed: (){},)
                    
       ]
     )  
      ),
  
);

}
}

Add steps to troubleshoot Flutter flavorizer iOS flavors code signing issues

CodeMagic fails to build iOS (when using Flutter Flavorizr Package) due to Code Signing Issues

If CodeMagic fails due to code-signing issues, it's probably because the Flutter iOS folder was originally created with an older version of Flutter, and then never re-created from scratch (while Flutter continued to upgrade).

To fix the issue - and assuming Flavorizr package is used - execute the following steps:

  1. Backup your iOS icons folder as well as the Android icons folder
  2. Delete the ./ios folder
  3. Run "flutter create ."
  4. Restore the icons into the ./ios and ./android folders
  5. Run "flutter pub run flutter_flavorizr"
  6. Make sure that the default Runner scheme has a valid bundle-identifier which matches an existing Identifier in developer.apple.com
  7. Build locally and if successful - push to CodeMagic
Important Note

After running step 4, the main-{{env}} files will be wiped-out - and will need to be restored, so you must back them up first (or simply discard the changes to these files via Git after running flavorizr).

create sample about how to use fastlane match properly

Users have been having trouble with using fastlane match issues include for example that macOS uses default keychain, which is password protected and users should use their keychain in code signing. This is one example, but would be nice to collect more @dante8300

iOS code signing - document unable to create an authenticated sessions, error code=-22020

Quite a common issue for code signing looks like:

altool[xxx:xxx] *** Error: Unable to validate archive '/Users/builder/ipas/xxx'.
altool[xxx:xxx] *** Error: code -22020 (Unable to validate your application. We are unable to create an authentication session.)

Problem seems more related to the connection with their apple account. User should have to set App Store Connect with an App Specific Password instead of their usual Apple password.

To do so, they should go to your apple id page, down to Security, and then App Specific Password > Generate a password

https://stackoverflow.com/questions/60718061/unable-to-create-an-authentication-session-on-codemagic-when-code-signing-on-ios

Updating codemagic-docs/content/publishing/publishing-to-google-play.md

Hi there,

I was recently following your tutorials about deployment to the Google Play store.
I noticed that in the section "Setting up a service account in Google Play Console" in the codemagic-docs/content/publishing/publishing-to-google-play.md tutorial, the Google Play Console have updated their process.

From step 4 is different. I have attached photos below to show the process now. They no longer have the "Role dropdown".

Screen Shot 2020-09-11 at 9 45 32 AM

Instead, this can be found in step 2 after completing the details.

Screen Shot 2020-09-11 at 9 46 43 AM

It then takes you to an optional 3rd step of granting users access to this service account.

Screen Shot 2020-09-11 at 9 48 38 AM

After which you can download the json file.

I am quite new to the GitHub contribution world, but if you would like, I could try to update and make a pull request on your repo to include a new updated tutorial?

Thank you!
Jimmy Wilson

Update Getting started with React Native (iOS) documentation

- certificate_credentials # <-- (Includes CERTIFICATE_PRIVATE_KEY)

Hi there!

Firstly, I'd like to thank you all for your hard work at Codemagic making our CI lives so much easier!
Secondly, I'd like to kindly request some more documentation on what exactly the CERTIFICATE_PRIVATE_KEY is in your YAML example for getting started with React Native for iOS. There aren't any other references to this variable on the page, and I'm struggling to work out what I need to upload to get the workflow to succeed.

Best wishes from the University of Southampton!

EDIT: Details about CERTIFICATE_PRIVATE_KEY can be found here: https://docs.codemagic.io/yaml-code-signing/signing-ios/

document how to install fastlane plugins on build machine

One user reported that this script failed:

      - name: Install fastlane-plugin-browserstack
        script: |
          gem install bundler
          sudo gem install fastlane-plugin-browserstack --user-install

Does not seem to work, getting this error:

Could not find action, lane or variable 'upload_to_browserstack_app_live'

Let's try to validate and document it. He says solution was to do this

      - name: Install fastlane-plugin-browserstack
        script: |
          cd ios
          bundle add fastlane-plugin-browserstack

ref: https://codemagicio.slack.com/archives/CEKE2KZ37/p1629143385271800

create more detailed documentation on how Google Tracks work

Feedback from one of our users. He forgot he needed to upload first build manually to Google Play when setting up a new app. This would be a great docs improvement. 🙂

Hi Chris - I eventually got it to work. Your docs could call out how to deal with the Google Play Tracks more precisely. I did not fully understand all that (internal vs open vs closed testing) and I manually uploading to the internal track when I should have to the Alpha track. Maybe it's explained, but there are so many levers and switches that a step-by-step document for morons would be really helpful.

Using a custom key for "Accessing private dependencies and Git submodules" does not work

After following the steps for using a custom key in order to access private git dependencies:

#!/usr/bin/env sh
echo "${CUSTOM_KEY_NAME}" > /tmp/ssh_key
chmod 600 /tmp/ssh_key
eval `ssh-agent -s`
ssh-add /tmp/ssh_key

This still causes the build to fail during the "Install Dependencies" step. The key is added successfully to the ssh-agent, but during the "Install Dependencies" step, it seems to be using a different shell session and does not have access to the ssh-agent and thus ssh key added in the Post-Clone script.

I tested this by trying to clone the private git repository in the Post-Clone script, which worked. But I'm unable to run code during the "Install Dependencies" step to debug further.

The only work around is to set the raw private key in an environment variable ending in _SSH_KEY, without base64 encoding it. This does the trick, but it's not ideal.

It should also be added in the docs that if you want to use the features of having environment variables ending with _SSH_KEY being automatically added to the ssh-agent throughout the entire build, they can't be base64 encoded.

Apple processing time

Currently in the post-processing section when we get this error :"Did not find build matching uploaded version yet, it might be still processing. Waiting to try again...", it does not give any hint about what it is. And the docs also do not provide any info about it. Maybe updating the docs and linking it in the logs would be a good idea.

document common podfile issues

Originally a suggestion from @mikhail-tokarev

It would be nice to provide some docs page or guide about this error:
The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.4.99

I can see 3 cases

  • users with Podfile in repo
  • mac users, there is no Podfile in repo
  • windows users, there is no Podfile in repo

One example from our user:

It seems the fix is to create a podfile but I can't find any documentation on this. There was mention Codemagic was going to do a blog post or something on this. Is this available?

Unity Android: mismatched variable names in C# script

The variable names in the C# script do not match the variables names we advise users to create for Android code signing.

  • review environment variables we say that need setting
  • make sure these match the C# build script for Android

upload credentials.json

https://docs.codemagic.io/flutter-publishing/publishing-to-google-play/

I am new to Flutter and have a paid Google Play developer account so now I have two consoles: Google Play Console and the other GCP console. I am not sure if they are connected. S.O. answers were not clear on how to get this credentials json I need to have CodeMagic do the CI CD thing for my Flutter app here: https://codemagic.io/app/61496398b1c014cc2890f906/workflow/61496398b1c014cc2890f905/settings

Please walk us through step by step when the documentation from Google is not very clear on this step either.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.