Compare commits

...
Author SHA1 Message Date
Quinlan Jung 55a44b4028 update changelog 2019-07-01 11:25:18 -07:00
Quinlan Jung 84bf5863e6 make ts happy 2019-06-28 17:39:54 -07:00
Quinlan Jung bff3694c94 [turtle] use provisioiningProfileId if specified 2019-06-28 17:39:53 -07:00
3 changed files with 16 additions and 12 deletions

No files matched your search

+1
View File
@@ -6,6 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Added
- Adhoc Builds: use provisioningProfileId if specified.
- Registering supported SDK versions in Redis.
## [0.8.6] - 2019-06-25
+14 -12
View File
@@ -3,7 +3,6 @@ import path from 'path';
import spawnAsync from '@expo/spawn-async';
import { IosCodeSigning } from '@expo/xdl';
import fs from 'fs-extra';
import isEmpty from 'lodash/isEmpty';
import * as sqs from 'turtle/aws/sqs';
import BuildError, { BuildErrorReason } from 'turtle/builders/BuildError';
@@ -21,10 +20,18 @@ async function prepareAdHocBuildCredentials(job: IJob) {
}
const { bundleIdentifier } = job.config;
const { certP12, certPassword, teamId, appleSession, udids } = job.credentials;
const {
certP12,
certPassword,
teamId,
appleSession,
udids,
provisioningProfileId,
} = job.credentials;
const certSerialNumber = IosCodeSigning.findP12CertSerialNumber(certP12, certPassword);
const args = [
...(provisioningProfileId ? ['--profile-id', provisioningProfileId] : []),
teamId,
udids!.join(','),
bundleIdentifier,
@@ -37,20 +44,15 @@ async function prepareAdHocBuildCredentials(job: IJob) {
args,
{ env: { FASTLANE_SESSION: appleSession } },
);
if (isEmpty(credentials)) {
if (!job.credentials.provisioningProfile) {
// a user has generated the provisioning profile for his app, but he probably deleted it from Expo servers, ...
throw new BuildError(
BuildErrorReason.PROVISIONING_PROFILE_MISSING,
`Provisioning profile is missing on Expo servers.`,
);
}
return;
}
logger.info('New ad hoc provisioning profile successfully created');
job.credentials.provisioningProfile = credentials.provisioningProfile;
if (!credentials.provisioningProfileUpdateTimestamp) {
// dont need to persist profile because nothing changed
return;
}
if (isOffline()) {
const provisioningProfilePath = path.join(job.projectDir, `adhoc.mobileprovision`);
await fs.writeFile(provisioningProfilePath, Buffer.from(credentials.provisioningProfile, 'base64'));
+1
View File
@@ -26,6 +26,7 @@ export interface IJob {
certP12?: string;
certPassword?: string;
provisioningProfile?: string;
provisioningProfileId?: string;
teamId?: string;
appleSession?: string;
udids?: string[];