mirror of
https://github.com/expo/turtle.git
synced 2026-11-14 19:12:55 -10:00
Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5c629b3a16 | ||
|
|
b2aed931b5 | ||
|
|
4e6ffc1235 | ||
|
|
811cc433ca | ||
|
|
52cbd973b3 | ||
|
|
397bd15203 | ||
|
|
1f6f6f7caf | ||
|
|
0e7b0633d5 | ||
|
|
2b890be48e | ||
|
|
fac39ba644 |
No files matched your search
@@ -6,3 +6,4 @@ SENTRY_DSN=""
|
|||||||
ENVIRONMENT="development"
|
ENVIRONMENT="development"
|
||||||
REDIS_URL="redis://localhost:6379/0"
|
REDIS_URL="redis://localhost:6379/0"
|
||||||
REDIS_CONFIG_URL="redis://localhost:6379/0"
|
REDIS_CONFIG_URL="redis://localhost:6379/0"
|
||||||
|
TURTLE_SDK_VERSIONS_SECRET_TOKEN="xeiw7yigha<a_r5aich!oW9Ik2eish8the9Na6Jae-ghoo5ua/t8nu5AeheiTew4"
|
||||||
@@ -7,7 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
## [0.12.9] - 2019-11-14
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Support for customizing Facebook SDK behavior at buildtime (autoinitialization, logging app events, logging Advertiser ID) (https://github.com/expo/expo/pull/5924)
|
||||||
|
|
||||||
|
## [0.12.8] - 2019-10-29
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
- Updated Android shell app for SDK 35 to fix `Linking.openUrl` not opening app if it's already foregrounded (https://github.com/expo/expo/issues/6058)
|
||||||
- Enforce Java 8 when using turtle-cli.
|
- Enforce Java 8 when using turtle-cli.
|
||||||
|
|
||||||
## [0.12.7] - 2019-10-25
|
## [0.12.7] - 2019-10-25
|
||||||
|
|||||||
@@ -138,6 +138,11 @@ spec:
|
|||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: turtle-js-config
|
name: turtle-js-config
|
||||||
key: datadog_app_key
|
key: datadog_app_key
|
||||||
|
- name: TURTLE_SDK_VERSIONS_SECRET_TOKEN
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: turtle-js-config
|
||||||
|
key: turtle_sdk_versions_secret_token
|
||||||
# other vars
|
# other vars
|
||||||
- name: GRADLE_DAEMON_DISABLED
|
- name: GRADLE_DAEMON_DISABLED
|
||||||
value: "1"
|
value: "1"
|
||||||
|
|||||||
+4
-2
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "turtle-cli",
|
"name": "turtle-cli",
|
||||||
"version": "0.12.7",
|
"version": "0.12.9",
|
||||||
"description": "The command-line tool for building standalone Expo apps",
|
"description": "The command-line tool for building standalone Expo apps",
|
||||||
"preferGlobal": true,
|
"preferGlobal": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -75,6 +75,7 @@
|
|||||||
"@types/progress": "^2.0.1",
|
"@types/progress": "^2.0.1",
|
||||||
"@types/raven": "^2.5.1",
|
"@types/raven": "^2.5.1",
|
||||||
"@types/request": "^2.47.1",
|
"@types/request": "^2.47.1",
|
||||||
|
"@types/request-promise": "^4.1.44",
|
||||||
"@types/semver": "^6.0.0",
|
"@types/semver": "^6.0.0",
|
||||||
"@types/sharp": "^0.17.8",
|
"@types/sharp": "^0.17.8",
|
||||||
"@types/tar": "^4.0.0",
|
"@types/tar": "^4.0.0",
|
||||||
@@ -100,7 +101,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@expo/spawn-async": "^1.4.2",
|
"@expo/spawn-async": "^1.4.2",
|
||||||
"@expo/xdl": "56.2.2-alpha.2",
|
"@expo/xdl": "56.5.0",
|
||||||
"@google-cloud/logging-bunyan": "^0.9.5",
|
"@google-cloud/logging-bunyan": "^0.9.5",
|
||||||
"async-retry": "^1.2.1",
|
"async-retry": "^1.2.1",
|
||||||
"aws-sdk": "^2.226.1",
|
"aws-sdk": "^2.226.1",
|
||||||
@@ -120,6 +121,7 @@
|
|||||||
"raven": "^2.6.2",
|
"raven": "^2.6.2",
|
||||||
"request": "^2.88.0",
|
"request": "^2.88.0",
|
||||||
"request-progress": "^3.0.0",
|
"request-progress": "^3.0.0",
|
||||||
|
"request-promise": "^4.2.5",
|
||||||
"semver": "^6.0.0",
|
"semver": "^6.0.0",
|
||||||
"sharp": "0.22.1",
|
"sharp": "0.22.1",
|
||||||
"source-map-support": "^0.5.6",
|
"source-map-support": "^0.5.6",
|
||||||
|
|||||||
@@ -22,5 +22,6 @@ export API_PORT="443"
|
|||||||
export REDIS_URL="noop"
|
export REDIS_URL="noop"
|
||||||
export REDIS_CONFIG_URL="noop"
|
export REDIS_CONFIG_URL="noop"
|
||||||
export DATADOG_DISABLED="true"
|
export DATADOG_DISABLED="true"
|
||||||
|
export TURTLE_SDK_VERSIONS_SECRET_TOKEN="noop"
|
||||||
|
|
||||||
yarn test:smoke:android
|
yarn test:smoke:android
|
||||||
@@ -20,6 +20,7 @@ export API_PORT="443"
|
|||||||
export REDIS_URL="noop"
|
export REDIS_URL="noop"
|
||||||
export REDIS_CONFIG_URL="noop"
|
export REDIS_CONFIG_URL="noop"
|
||||||
export DATADOG_DISABLED="true"
|
export DATADOG_DISABLED="true"
|
||||||
|
export TURTLE_SDK_VERSIONS_SECRET_TOKEN="noop"
|
||||||
|
|
||||||
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/../.. && pwd )"
|
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/../.. && pwd )"
|
||||||
SDK_VERSION=sdk32 $ROOT_DIR/scripts/ios/fetchRemoteIosTarball.sh
|
SDK_VERSION=sdk32 $ROOT_DIR/scripts/ios/fetchRemoteIosTarball.sh
|
||||||
|
|||||||
@@ -22,5 +22,6 @@ export API_PORT="443"
|
|||||||
export REDIS_URL="noop"
|
export REDIS_URL="noop"
|
||||||
export REDIS_CONFIG_URL="noop"
|
export REDIS_CONFIG_URL="noop"
|
||||||
export DATADOG_DISABLED="true"
|
export DATADOG_DISABLED="true"
|
||||||
|
export TURTLE_SDK_VERSIONS_SECRET_TOKEN="noop"
|
||||||
|
|
||||||
yarn test:unit
|
yarn test:unit
|
||||||
@@ -1 +1 @@
|
|||||||
s3://exp-artifacts/android-shell-builder-a9b26e258382dce4c3f73c4f2d16cbb1a93e8a1a.tar.gz
|
s3://exp-artifacts/android-shell-builder-7ce098f40cc82a2f61fed9f1f515d695a83c55b2.tar.gz
|
||||||
@@ -36,6 +36,7 @@ export default async function runShellAppBuilder(ctx: IContext, job: IJob): Prom
|
|||||||
manifest,
|
manifest,
|
||||||
output: ctx.outputPath,
|
output: ctx.outputPath,
|
||||||
verbose: true,
|
verbose: true,
|
||||||
|
shellAppSdkVersion: sdkVersion,
|
||||||
};
|
};
|
||||||
if (buildType === IOS_BUILD_TYPES.CLIENT) {
|
if (buildType === IOS_BUILD_TYPES.CLIENT) {
|
||||||
Object.assign(shellAppParams, {
|
Object.assign(shellAppParams, {
|
||||||
|
|||||||
@@ -89,4 +89,7 @@ export default {
|
|||||||
path.join(os.platform() === 'darwin' ? '/private' : '/', 'tmp', 'turtle'),
|
path.join(os.platform() === 'darwin' ? '/private' : '/', 'tmp', 'turtle'),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
www: {
|
||||||
|
sdkVersionsSecretToken: env('TURTLE_SDK_VERSIONS_SECRET_TOKEN'),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
import EventEmitter from 'events';
|
import EventEmitter from 'events';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
|
||||||
|
|||||||
+7
-15
@@ -6,10 +6,7 @@ import { doJob } from 'turtle/jobManager';
|
|||||||
import logger from 'turtle/logger';
|
import logger from 'turtle/logger';
|
||||||
import setup from 'turtle/setup';
|
import setup from 'turtle/setup';
|
||||||
import { checkShouldExit, setShouldExit, turtleVersion } from 'turtle/turtleContext';
|
import { checkShouldExit, setShouldExit, turtleVersion } from 'turtle/turtleContext';
|
||||||
import { getRedisClient } from 'turtle/utils/redis';
|
import { setSupportedSdkVersions, setTurtleVersion } from 'turtle/utils/versions';
|
||||||
|
|
||||||
const REDIS_TURTLE_VERSION_KEY = 'turtle:version';
|
|
||||||
const REDIS_TURTLE_SUPPORTED_SDK_VERSIONS_KEY = `turtle:${config.platform}:sdkVersions`;
|
|
||||||
|
|
||||||
process.on('unhandledRejection', (err) => logger.error({ err }, 'Unhandled promise rejection'));
|
process.on('unhandledRejection', (err) => logger.error({ err }, 'Unhandled promise rejection'));
|
||||||
|
|
||||||
@@ -37,18 +34,13 @@ async function main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const redis = await getRedisClient();
|
await setTurtleVersion(turtleVersion);
|
||||||
if (redis) {
|
logger.info(`Registered Turtle version (${turtleVersion}) in www`);
|
||||||
await redis.set(REDIS_TURTLE_VERSION_KEY, turtleVersion);
|
const sdkVersions = (await findSupportedSdkVersions(config.platform)).map((version) => `${version}.0.0`);
|
||||||
logger.info(`Registered Turtle version (${turtleVersion}) in Redis`);
|
await setSupportedSdkVersions(config.platform, sdkVersions);
|
||||||
const sdkVersions = (await findSupportedSdkVersions(config.platform)).join(',');
|
logger.info(`Registered supported SDK versions (${sdkVersions}) in www`);
|
||||||
await redis.set(REDIS_TURTLE_SUPPORTED_SDK_VERSIONS_KEY, sdkVersions);
|
|
||||||
logger.info(`Registered supported SDK versions (${sdkVersions}) in Redis`);
|
|
||||||
} else {
|
|
||||||
logger.warn('Couldn\'t set supported SDK versions in Redis (failed to connect to Redis)');
|
|
||||||
}
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
logger.error({ err }, 'Failed to set versions in Redis');
|
logger.error({ err }, 'Failed to register versions in www');
|
||||||
}
|
}
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
import { URL } from 'url';
|
||||||
|
|
||||||
|
import request from 'request-promise';
|
||||||
|
|
||||||
|
import config from 'turtle/config';
|
||||||
|
|
||||||
|
async function setSupportedSdkVersions(platform: string, sdkVersions: string[]) {
|
||||||
|
const { href } = new URL('/--/api/v2/standalone-build/setSupportedSDKVersions', resolveWWWEndpoint());
|
||||||
|
await request({
|
||||||
|
method: 'POST',
|
||||||
|
uri: href,
|
||||||
|
headers: {
|
||||||
|
'secret-token': config.www.sdkVersionsSecretToken,
|
||||||
|
},
|
||||||
|
body: {
|
||||||
|
platform,
|
||||||
|
sdkVersions,
|
||||||
|
},
|
||||||
|
json: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function setTurtleVersion(version: string) {
|
||||||
|
const { href } = new URL('/--/api/v2/standalone-build/setTurtleVersion', resolveWWWEndpoint());
|
||||||
|
await request({
|
||||||
|
method: 'POST',
|
||||||
|
uri: href,
|
||||||
|
headers: {
|
||||||
|
'secret-token': config.www.sdkVersionsSecretToken,
|
||||||
|
},
|
||||||
|
body: {
|
||||||
|
version,
|
||||||
|
},
|
||||||
|
json: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function resolveWWWEndpoint() {
|
||||||
|
const currentEnv = config.deploymentEnv;
|
||||||
|
if (currentEnv === 'production') {
|
||||||
|
return 'https://expo.io';
|
||||||
|
} else if (currentEnv === 'staging') {
|
||||||
|
return 'https://staging.expo.io';
|
||||||
|
} else {
|
||||||
|
return 'http://127.0.0.1:3000';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export { setSupportedSdkVersions, setTurtleVersion };
|
||||||
Reference in new issue
Block a user