mirror of
https://github.com/expo/turtle.git
synced 2026-11-14 19:12:55 -10:00
Compare commits
35
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6ad71bd512 | ||
|
|
0ee897531f | ||
|
|
8c46d1c8bf | ||
|
|
d87873637b | ||
|
|
d6496996b6 | ||
|
|
2df39da2e6 | ||
|
|
6925e290cc | ||
|
|
9e2557b6f4 | ||
|
|
d743f8313e | ||
|
|
7df3f70e9c | ||
|
|
34cf811fd7 | ||
|
|
1d825e6310 | ||
|
|
dd6c806e0f | ||
|
|
ccbdf7418e | ||
|
|
552c1074c0 | ||
|
|
18d35d7730 | ||
|
|
7aaac7b648 | ||
|
|
c472a5a6ea | ||
|
|
527821ee50 | ||
|
|
d2bff1639c | ||
|
|
84cf930537 | ||
|
|
4c3582b8df | ||
|
|
52b029a5a9 | ||
|
|
86047db677 | ||
|
|
2b8548f489 | ||
|
|
44b0d8c696 | ||
|
|
9b70b047a3 | ||
|
|
98310af75a | ||
|
|
5f9bf0e735 | ||
|
|
32c8032bb3 | ||
|
|
10322bbca1 | ||
|
|
88ca49766a | ||
|
|
0d22f3ed0f | ||
|
|
32d104a03b | ||
|
|
97422aeb54 |
No files matched your search
+187
-4
@@ -1,224 +1,407 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
## Unreleased
|
||||
|
||||
## [0.12.5] - 2019-10-18
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated iOS shell app for SDK 35 to fix crash when calling `WebBrowser.dismissBrowser` on iOS 13 (https://github.com/expo/expo/issues/5742)
|
||||
|
||||
## [0.12.4] - 2019-10-11
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated Android shell app for SDK 35 to fix occasional crash on launch (https://github.com/expo/expo/issues/5917)
|
||||
|
||||
## [0.12.3] - 2019-10-09
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated iOS client shell app for SDK 35 to fix it from crashing on startup due to having an incomplete GoogleService-Info.plist file.
|
||||
|
||||
## [0.12.2] - 2019-09-27
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated Android shell app for SDK 35 to fix crash on Android <=7 due to battery module
|
||||
|
||||
## [0.12.1] - 2019-09-20
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated iOS shell apps for SDK 33 and 34 to fix iOS 13 issues with fishhook, notification tokens, and ShareSheet
|
||||
- Updated iOS shell app for SDK 35 with a minor fix
|
||||
|
||||
## [0.12.0] - 2019-09-19
|
||||
|
||||
### Added
|
||||
|
||||
- Support for SDK 35 iOS and Android builds.
|
||||
|
||||
### Removed
|
||||
|
||||
- Support for SDK 27-30 iOS and Android builds.
|
||||
|
||||
## [0.11.3] - 2019-09-19
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated SDK34 Android shell app with `expo-branch` fixes.
|
||||
|
||||
## [0.11.2] - 2019-08-21
|
||||
|
||||
### Added
|
||||
|
||||
- Support for GoogleService-Info.plist (>=34.0.0).
|
||||
|
||||
## [0.11.1] - 2019-08-08
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated iOS client shell app with the latest fixes (up to 2.12.3).
|
||||
|
||||
## [0.11.0] - 2019-08-07
|
||||
|
||||
### Changed
|
||||
|
||||
- Enabled back optional modules support, but only for specific unimodules.
|
||||
- Updated SDK34 Android shell app with the latest fixes (up to 2.12.2).
|
||||
- Updated SDK34 iOS shell app with the latest fixes (up to 2.12.3).
|
||||
|
||||
## [0.10.0] - 2019-08-01
|
||||
|
||||
### Changed
|
||||
|
||||
- Fully disabled optional modules on Android for now.
|
||||
- Updated iOS shell apps for SDK 33 and 34 to fix scoped permissions issue.
|
||||
- Updated Android shell app for SDK 34 to work after disabling optional modules.
|
||||
|
||||
## [0.9.1] - 2019-07-29
|
||||
|
||||
### Changed
|
||||
|
||||
- `release-it` version to `12.3.4`.
|
||||
|
||||
## [0.9.0] - 2019-07-29
|
||||
|
||||
### Added
|
||||
|
||||
- Android, iOS standalone shell apps and iOS Expo client shell app for SDK34.
|
||||
- Xcode license check for iOS builds.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Setting `Constants.nativeAppVersion` for Android standalone builds (actually fixed in [expo/expo-cli#878](https://github.com/expo/expo-cli/pull/878)).
|
||||
- Passing `expo.android.config` object from `app.json` to the Android builder.
|
||||
- Fixed crash on launch for iOS standalone apps on iOS 13 (all SDK versions).
|
||||
- Fixed occasional issue on iOS (SDK 33) where the JS bundle cannot be found ("No cache exists for this resource: shell-app.bundle") and a reload would be required.
|
||||
|
||||
## [0.8.11] - 2019-07-16
|
||||
|
||||
### Fixed
|
||||
|
||||
- Android debug builds.
|
||||
|
||||
## [0.8.10] - 2019-07-16
|
||||
|
||||
### Fixed
|
||||
|
||||
- iOS simulator builds.
|
||||
|
||||
## [0.8.9] - 2019-07-15
|
||||
|
||||
### Fixed
|
||||
|
||||
- User authentication.
|
||||
|
||||
## [0.8.8] - 2019-07-11
|
||||
|
||||
### Fixed
|
||||
|
||||
- LocalAuthentication module on iOS (fixes [expo/expo#663](https://github.com/expo/expo/issues/663)).
|
||||
|
||||
## [0.8.7] - 2019-07-05
|
||||
|
||||
### Added
|
||||
|
||||
- Adhoc Builds: use provisioningProfileId if specified.
|
||||
- Registering supported SDK versions in Redis.
|
||||
- Support for 64 bit builds in SDK33.
|
||||
|
||||
## [0.8.6] - 2019-06-25
|
||||
|
||||
### Added
|
||||
|
||||
- Added support for Android build modes: debug or release.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Upgrading the shell app for a given SDK version when the previous version is already downloaded (bug in `turtle-cli`).
|
||||
- Updated Android shell app for SDK33 to include `[email protected]` which fixes crashes on Android 9.0 when showing some Lottie animations.
|
||||
- Schema for `buildModes`.
|
||||
- Updated @expo/xdl to 55.0.7 (fixed reading from binary plist).
|
||||
|
||||
## [0.8.4] - 2019-06-13
|
||||
|
||||
### Changed
|
||||
|
||||
- Upgraded `sharp` from `0.21.3` to `0.22.1`.
|
||||
- `gulp-cli` is no longer required to build an app with `turtle-cli`.
|
||||
|
||||
## [0.8.3] - 2019-06-13
|
||||
|
||||
### Added
|
||||
|
||||
- Running Android Turtle process with `supervisor` (pod is restarted if there were 5 failures in the last 10 minutes).
|
||||
|
||||
### Changed
|
||||
|
||||
- `turtle-cli` is now fetching the app manifest before running the build.
|
||||
|
||||
## [0.8.2] - 2019-06-11
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated Android shell app for SDK33 to remove `expo-face-detector` and `expo-payments-stripe` from standalone builds.
|
||||
- Updated Android shell app for SDK33 to get rid of `node_modules` for `tools-public`.
|
||||
- From now on, `turtle-cli` installs dependencies for `tools-public` in shell apps for SDK versions < 33.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Android builds with turtle-cli by installing all unmodules if `dependencies` is empty.
|
||||
|
||||
## [0.8.1] - 2019-06-10
|
||||
|
||||
### Changed
|
||||
|
||||
- Add expo dependencies when resolving unimodules.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Support for Android tarballs without `universe-package.json`.
|
||||
|
||||
## [0.8.0] - 2019-06-07
|
||||
|
||||
### Added
|
||||
|
||||
- Turtle CLI logo to the project (created by [@zularizal](https://github.com/zularizal))!
|
||||
- Shell apps for SDK 33.
|
||||
- Support for Android App Bundles (App bundles are built by default, use `-t apk` to build apk).
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated Android shell app for SDK 32 to fix AppAuth issue (https://github.com/expo/expo/pull/4115) and to fix a newer than expected JSC version.
|
||||
- Default value for build timeout to 15 minutes.
|
||||
- Added filtering of logs (strips out download progress) when downloading SDK tools.
|
||||
- `xdl` -> `@expo/xdl`, updated `@expo/xdl`.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Generating Android keystore in turtle when one is not passed to turtle-cli (https://github.com/expo/turtle/pull/65).
|
||||
- Upload logs to s3 if build has been canceled or timed out.
|
||||
- Unhandled exception on asset download (xdl).
|
||||
|
||||
## [0.7.2] - 2019-05-09
|
||||
|
||||
### Added
|
||||
|
||||
- Support for Android tarballs without `universe-package.json`.
|
||||
|
||||
### Changed
|
||||
|
||||
- Upgraded `@expo/traveling-fastlane-darwin` to 1.9.4 (fixes issues with generating provisioning profiles for ad-hoc builds).
|
||||
|
||||
### Removed
|
||||
|
||||
- Support for `CLIENT_LOGGER_LEVEL` env variable.
|
||||
|
||||
## [0.7.1] - 2019-05-06
|
||||
|
||||
### Fixed
|
||||
|
||||
- Resolving `fastlane` version when `LC_ALL` is not set.
|
||||
|
||||
## [0.7.0] - 2019-05-06
|
||||
|
||||
### Added
|
||||
|
||||
- Support for custom Android builds.
|
||||
|
||||
### Changed
|
||||
|
||||
- Refactored logger.
|
||||
|
||||
### Fixed
|
||||
|
||||
- `platform` log field wrongly set to `ios` for Android builds (when using `turtle-cli`).
|
||||
- Brought back `jobID` and `experienceName` fields to Android logs.
|
||||
|
||||
## [0.6.1] - 2019-04-23
|
||||
|
||||
### Added
|
||||
|
||||
- Checking fastlane version before running build (turtle-cli).
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated iOS shell app for SDK 32 to fix AppAuth issue.
|
||||
- Babel replaced by ttypescript.
|
||||
- Updated xdl to 53.5.3 and @expo/spawn-async to 1.4.2, so that error stack traces should be more informative now.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Brought back `jobID` and `experienceName` fields to GCloud logs.
|
||||
|
||||
### Removed
|
||||
|
||||
- `buidAndroidTarballLocally.sh` script (it has been moved to expo repository - [expo/expo#4022](https://github.com/expo/expo/pull/4022)).
|
||||
|
||||
## [0.6.0] - 2019-04-09
|
||||
|
||||
### Changed
|
||||
|
||||
- Removed Branch module from Android shell apps for all SDK versions.
|
||||
|
||||
## [0.5.15] - 2019-04-03
|
||||
|
||||
### Added
|
||||
|
||||
- Turtle smoke tests are now being executed on CircleCI from the context of this repository.
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated iOS shell app for SDK 32 (fixes [this loading issue for slow connections](https://github.com/expo/expo/issues/3574)).
|
||||
- Minor infra changes (doesn't affect users).
|
||||
- Error logs format - error objects are now passed in an object being passed as the first argument to logger function.
|
||||
|
||||
### Removed
|
||||
|
||||
- Sending logs to loggly.
|
||||
|
||||
## [0.5.14] - 2019-03-22
|
||||
|
||||
### Added
|
||||
|
||||
- `--config` parameter for turtle-cli commands, which allows to specify a custom path to app.json file
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated iOS shell app for SDK 32 (fixes [this notifications issue](https://github.com/expo/expo/issues/3663)).
|
||||
|
||||
## [0.5.13] - 2019-03-12
|
||||
|
||||
### Added
|
||||
|
||||
- Android SDK version support validation.
|
||||
|
||||
### Changed
|
||||
|
||||
- iOS Enterprise builds don't compile bitcode now.
|
||||
|
||||
## [0.5.12] - 2019-02-26
|
||||
|
||||
### Added
|
||||
|
||||
- Google Cloud logger (as a bunyan stream).
|
||||
|
||||
### Changed
|
||||
|
||||
- Android builder passes the manifest from a build job message if it's available.
|
||||
|
||||
## [0.5.11] - 2019-02-22
|
||||
|
||||
### Added
|
||||
|
||||
- Builder for iOS client apps.
|
||||
|
||||
## [0.5.10] - 2019-02-19
|
||||
|
||||
### Added
|
||||
|
||||
- Registering Turtle version in Redis.
|
||||
|
||||
### Changed
|
||||
|
||||
- Update Android shell app for SDK 32 to fix [update](https://github.com/expo/expo/issues/3504) and [back button](https://github.com/expo/expo/issues/1786) issues.
|
||||
|
||||
## [0.5.9] - 2019-02-06
|
||||
|
||||
- Update iOS shell app for SDK 32 (fixes bare notifications [issue](https://github.com/expo/expo/issues/3223)).
|
||||
|
||||
## [0.5.7] - 2019-01-31
|
||||
|
||||
- Update Android shell app for SDK 32 to fix bundled assets issue.
|
||||
|
||||
## [0.5.6] - 2019-01-25
|
||||
|
||||
- Update iOS shell app for SDK 30, 31 and 32 (built with xcode 10.1).
|
||||
|
||||
## [0.5.5] - 2019-01-24
|
||||
|
||||
### Added
|
||||
|
||||
- Sending build duration in AWS SQS messages (of `FINISHED` and `ERRORED` types).
|
||||
|
||||
## [0.5.4] - 2019-01-22
|
||||
|
||||
### Changed
|
||||
|
||||
- Update iOS shell app for SDK32 to [`expo/expo#0847c10`](https://github.com/expo/expo/commit/0847c1073d38c366866f3d9279ddd662da47dc9b), i.e. v2.10.3 with fixed WebView navigation scheme and upgraded Facebook SDK.
|
||||
|
||||
## [0.5.3] - 2019-01-21
|
||||
|
||||
### Fixed
|
||||
|
||||
- Building Android standalone apps ([not accepted license issue](https://github.com/expo/expo/issues/3266)) - updated Android build tools (`build-tools;28.0.3`, `platforms;android-28`).
|
||||
|
||||
## [0.5.2] - 2019-01-18
|
||||
|
||||
### Added
|
||||
|
||||
- The link (in README) to the repository containing `turtle-cli` usage example.
|
||||
- [Contributing guide](CONTRIBUTING.md).
|
||||
- [Code of Conduct](CODE_OF_CONDUCT.md).
|
||||
|
||||
### Removed
|
||||
|
||||
- `eslint`
|
||||
|
||||
### Changed
|
||||
|
||||
- Fix all `tslint` errors.
|
||||
|
||||
## [0.5.1] - 2019-01-16
|
||||
|
||||
### Changed
|
||||
|
||||
- Update Android shell app for SDK32 that includes `[email protected]`.
|
||||
|
||||
## [0.5.0] - 2019-01-16
|
||||
|
||||
### Added
|
||||
|
||||
- Turtle version is added to the `onFinish` and `onError` build messages.
|
||||
|
||||
### Changed
|
||||
|
||||
- A version property value being sent to the queue. It's now the version number
|
||||
from `package.json` instead of `new`/`old` indicator.
|
||||
from `package.json` instead of `new`/`old` indicator.
|
||||
|
||||
### Removed
|
||||
|
||||
- `--push-p12-path` parameter for `turtle build:ios` command,
|
||||
a Push Notifications Certificate is no longer required to perform a successful
|
||||
iOS standalone app build.
|
||||
a Push Notifications Certificate is no longer required to perform a successful
|
||||
iOS standalone app build.
|
||||
|
||||
## [0.4.3] - 2019-01-09
|
||||
|
||||
### Changed
|
||||
|
||||
- Update iOS shell app for SDK32.
|
||||
- Update Android shell app for SDK32.
|
||||
+4
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "turtle-cli",
|
||||
"version": "0.10.0",
|
||||
"version": "0.12.6",
|
||||
"description": "The command-line tool for building standalone Expo apps",
|
||||
"preferGlobal": true,
|
||||
"scripts": {
|
||||
@@ -79,6 +79,8 @@
|
||||
"@types/sharp": "^0.17.8",
|
||||
"@types/tar": "^4.0.0",
|
||||
"@types/uuid": "^3.4.3",
|
||||
"@types/webpack": "^4.32.1",
|
||||
"@types/webpack-dev-server": "^3.1.7",
|
||||
"@types/which": "^1.3.1",
|
||||
"husky": "^1.3.1",
|
||||
"jest": "^23.6.0",
|
||||
@@ -98,7 +100,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@expo/spawn-async": "^1.4.2",
|
||||
"@expo/xdl": "56.1.4-rc.0",
|
||||
"@expo/xdl": "56.2.2-alpha.2",
|
||||
"@google-cloud/logging-bunyan": "^0.9.5",
|
||||
"async-retry": "^1.2.1",
|
||||
"aws-sdk": "^2.226.1",
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
s3://exp-artifacts/android-shell-builder-c19ce0d88a153f481fd790e23bdcd6f2d5ea7fd6.tar.gz
|
||||
@@ -1 +0,0 @@
|
||||
s3://exp-artifacts/android-shell-builder-c19ce0d88a153f481fd790e23bdcd6f2d5ea7fd6.tar.gz
|
||||
@@ -1 +0,0 @@
|
||||
s3://exp-artifacts/android-shell-builder-c19ce0d88a153f481fd790e23bdcd6f2d5ea7fd6.tar.gz
|
||||
@@ -1 +0,0 @@
|
||||
s3://exp-artifacts/android-shell-builder-c19ce0d88a153f481fd790e23bdcd6f2d5ea7fd6.tar.gz
|
||||
@@ -1 +1 @@
|
||||
s3://exp-artifacts/android-shell-builder-5e004e9c1a55d4d9c26e221b634a8246080b6e38.tar.gz
|
||||
s3://exp-artifacts/android-shell-builder-a8e204610e5712391336b378f47962bbb0c04164.tar.gz
|
||||
@@ -0,0 +1 @@
|
||||
s3://exp-artifacts/android-shell-builder-426a9f7f926d97174ba2ac4c3cb9c0fc8767ba42.tar.gz
|
||||
@@ -1 +1 @@
|
||||
s3://exp-artifacts/ios-expo-client-5b74b634263fa1980d88cdd9b7d8f16b06c36671.tar.gz
|
||||
s3://exp-artifacts/ios-expo-client-d31aaf53daca6aa65d8cb1090fb60c73a9c47075.tar.gz
|
||||
@@ -1 +0,0 @@
|
||||
s3://exp-artifacts/ios-shell-builder-sdk-27-db356a09877642d64023af98e4e2e1e632fbe4df.tar.gz
|
||||
@@ -1 +0,0 @@
|
||||
s3://exp-artifacts/ios-shell-builder-sdk-28-db356a09877642d64023af98e4e2e1e632fbe4df.tar.gz
|
||||
@@ -1 +0,0 @@
|
||||
s3://exp-artifacts/ios-shell-builder-sdk-29-db356a09877642d64023af98e4e2e1e632fbe4df.tar.gz
|
||||
@@ -1 +0,0 @@
|
||||
s3://exp-artifacts/ios-shell-builder-sdk-30-6863276e6b9605e31228c845a047387571959e9b.tar.gz
|
||||
@@ -1 +1 @@
|
||||
s3://exp-artifacts/ios-shell-builder-sdk-latest-7a0e6bb94bd3edb2bc2dc501d6c09ad6edccd1bb.tar.gz
|
||||
s3://exp-artifacts/ios-shell-builder-sdk-latest-36b57e8ebb96aa8dce286c89bd56e8708eca819d.tar.gz
|
||||
@@ -1 +1 @@
|
||||
s3://exp-artifacts/ios-shell-builder-sdk-latest-f7aab5cac069205d0f939bd686a9c0f9239ea6cd.tar.gz
|
||||
s3://exp-artifacts/ios-shell-builder-sdk-latest-651588ff3445a5d87b3a5b81ec2977c02b22f3a2.tar.gz
|
||||
@@ -0,0 +1 @@
|
||||
s3://exp-artifacts/ios-shell-builder-sdk-latest-0115c48ddac4f63e5215541dff804871ef8c1e03.tar.gz
|
||||
@@ -61,4 +61,4 @@ async function cleanup(ctx: IContext) {
|
||||
}
|
||||
|
||||
const getTemporaryDirs = (ctx: IContext) =>
|
||||
Object.values(pick(ctx, ['appDir', 'provisioningProfileDir']));
|
||||
Object.values(pick(ctx, ['appDir', 'provisioningProfileDir'])) as string[];
|
||||
@@ -23,7 +23,7 @@ export async function resolveExplicitOptIn(workingdir: string, packages?: string
|
||||
const resolver = new Resolver(workingdir);
|
||||
await resolver.init();
|
||||
|
||||
const optionalModules = ['expo-branch', 'expo-face-detector'];
|
||||
const optionalModules = ['expo-branch'];
|
||||
resolver.addAll();
|
||||
const modules = packages
|
||||
? resolver.getModules().filter((mod) => !optionalModules.includes(mod.name) || packages.includes(mod.name))
|
||||
|
||||
+23
-9
@@ -55,20 +55,34 @@ export async function getJob() {
|
||||
async function processJob(jobData: any) {
|
||||
const receiptHandle = jobData.ReceiptHandle;
|
||||
const { priority } = jobData;
|
||||
|
||||
let timeoutId;
|
||||
try {
|
||||
const rawJob = JSON.parse(jobData.Body);
|
||||
timeoutId = failAfterMaxJobTime(priority, receiptHandle, rawJob);
|
||||
const job = await sanitizeJob(rawJob);
|
||||
|
||||
let rawJob;
|
||||
let job;
|
||||
try {
|
||||
rawJob = JSON.parse(jobData.Body);
|
||||
timeoutId = failAfterMaxJobTime(priority, receiptHandle, rawJob);
|
||||
logger.info(
|
||||
{ buildJobId: rawJob.id, messageId: jobData.MessageId },
|
||||
`Processing job with priority=${priority.slice(0, priority.length - 8)} timestamp=${Date.now()}`,
|
||||
);
|
||||
job = await sanitizeJob(rawJob);
|
||||
} catch (err) {
|
||||
logger.error({ err, ...rawJob && { buildJobId: rawJob.id } }, 'The build job is invalid');
|
||||
// send message only if we've managed to parse the job json
|
||||
if (rawJob) {
|
||||
await sqs.sendMessage(rawJob.id, BUILD.JOB_STATES.ERRORED, {
|
||||
turtleVersion,
|
||||
buildDuration: 0,
|
||||
reason: 'The build job is invalid',
|
||||
});
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
setCurrentJobId(job.id);
|
||||
const pingerHandle = sqs.changeMessageVisibilityRecurring(priority, jobData.ReceiptHandle, job.id);
|
||||
|
||||
logger.info(
|
||||
`Doing job MessageId=${jobData.MessageId} BuildId=${job.id} `
|
||||
+ `Priority=${priority.slice(0, priority.length - 8)} ${Date.now()}`,
|
||||
);
|
||||
|
||||
const cancelled = await redis.checkIfCancelled(job.id);
|
||||
if (cancelled) {
|
||||
logger.info('The job has been cancelled');
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ async function main() {
|
||||
try {
|
||||
await doJob();
|
||||
} catch (err) {
|
||||
logger.error({ err }, 'Failed to do a job');
|
||||
logger.error({ err }, 'Failed to process a job');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,9 @@ import * as schemas from 'turtle/jobsSchemas';
|
||||
|
||||
export async function sanitizeJob(job: any) {
|
||||
const schema = (schemas as any)[job.platform];
|
||||
if (!schema) {
|
||||
throw new Error(`Unsupported platform: ${job.platform}`);
|
||||
}
|
||||
const { error, value } = schema.validate(job, { stripUnknown: true });
|
||||
if (error) {
|
||||
throw error;
|
||||
|
||||
Reference in new issue
Block a user