Skip to content

Commit

Permalink
feat: better testflight config
Browse files Browse the repository at this point in the history
  • Loading branch information
vanlooverenkoen committed Dec 11, 2023
1 parent d81aedc commit de97d53
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 11 deletions.
24 changes: 16 additions & 8 deletions lib/src/integrations/ci_cd/plugin/ci_cd_plugin.dart
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,8 @@ class CiCdPlugin extends ImpaktfullPlugin {
if (playStoreUploadConfig != null) {
await playStorePlugin.uploadToPlayStore(
file: file,
serviceAccountCredentialsFile: playStoreUploadConfig.serviceAccountCredentialsFile,
serviceAccountCredentialsFile:
playStoreUploadConfig.serviceAccountCredentialsFile,
);
}
}
Expand Down Expand Up @@ -148,7 +149,8 @@ class CiCdPlugin extends ImpaktfullPlugin {
await testflightPlugin.uploadToTestflightWithEmailPassword(
file: file,
email: testflightUploadConfig.credentials?.userName,
appSpecificPassword: testflightUploadConfig.credentials?.appSpecificPassword,
appSpecificPassword:
testflightUploadConfig.credentials?.appSpecificPassword,
type: testflightUploadConfig.type,
);
}
Expand All @@ -163,8 +165,10 @@ class CiCdPlugin extends ImpaktfullPlugin {
ImpaktfullCliEnvironment.requiresMacOs(reason: 'Building iOS/macOS apps');
ImpaktfullCliEnvironment.requiresInstalledTools([CliTool.onePasswordCli]);

final certFile = await onePasswordPlugin.downloadDistributionCertificate(opUuid: opUuid);
final certPassword = await onePasswordPlugin.getCertificatePassword(opUuid: opUuid);
final certFile =
await onePasswordPlugin.downloadDistributionCertificate(opUuid: opUuid);
final certPassword =
await onePasswordPlugin.getCertificatePassword(opUuid: opUuid);

await startBuildWithCertificateAndPassword(
keyChainName: keyChainName,
Expand All @@ -183,11 +187,15 @@ class CiCdPlugin extends ImpaktfullPlugin {
Secret? globalKeyChainPassword,
}) async {
ImpaktfullCliEnvironment.requiresMacOs(reason: 'Building iOS/macOS apps');
final globalKeyChainPasswordSecret = globalKeyChainPassword ?? ImpaktfullCliEnvironmentVariables.getUnlockKeyChainPassword();
final globalKeyChainPasswordSecret = globalKeyChainPassword ??
ImpaktfullCliEnvironmentVariables.getUnlockKeyChainPassword();

await macOsKeyChainPlugin.createKeyChain(keyChainName, globalKeyChainPasswordSecret);
await macOsKeyChainPlugin.unlockKeyChain(keyChainName, globalKeyChainPasswordSecret);
await macOsKeyChainPlugin.addCertificateToKeyChain(keyChainName, certFile, certPassword);
await macOsKeyChainPlugin.createKeyChain(
keyChainName, globalKeyChainPasswordSecret);
await macOsKeyChainPlugin.unlockKeyChain(
keyChainName, globalKeyChainPasswordSecret);
await macOsKeyChainPlugin.addCertificateToKeyChain(
keyChainName, certFile, certPassword);
await onStartBuild();
await macOsKeyChainPlugin.removeKeyChain(keyChainName);
}
Expand Down
15 changes: 12 additions & 3 deletions lib/src/integrations/one_password/plugin/one_password_plugin.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,14 @@ class OnePasswordPlugin extends ImpaktfullCliPlugin {
String outputPath = 'certificates/apple_distribution.p12',
}) async {
final exportFile = File(outputPath);
await processRunner.runProcess(['op', 'document', 'get', '"$opUuid"', '--out-file', '"${exportFile.path}"']);
await processRunner.runProcess([
'op',
'document',
'get',
'"$opUuid"',
'--out-file',
'"${exportFile.path}"'
]);
return exportFile;
}

Expand All @@ -30,7 +37,8 @@ class OnePasswordPlugin extends ImpaktfullCliPlugin {
required String vaultName,
required String fieldName,
}) async {
final result = await getOnePasswordField(vaultName: vaultName, opUuid: opUuid, fieldName: fieldName);
final result = await getOnePasswordField(
vaultName: vaultName, opUuid: opUuid, fieldName: fieldName);
return Secret(result);
}

Expand All @@ -39,7 +47,8 @@ class OnePasswordPlugin extends ImpaktfullCliPlugin {
required String opUuid,
required String fieldName,
}) =>
processRunner.runProcess(['op', 'read', 'op://$vaultName/$opUuid/$fieldName']);
processRunner
.runProcess(['op', 'read', 'op://$vaultName/$opUuid/$fieldName']);

Future<TestFlightCredentials> getTestflightCredentials({
required String vaultName,
Expand Down

0 comments on commit de97d53

Please sign in to comment.