Commit Graph
37 Commits
Author SHA1 Message Date
Wojciech Kozyra 5f066d14ee update node (#347) 2021-10-15 14:30:22 +02:00
Wojciech Kozyra ba7b4a1968 remove workspaces from shellapp (#342) 2021-10-07 13:35:01 +02:00
Wojciech Kozyra 4c8408a46b [docker-base] add gradle 6.2 and set ANDROID_NDK_HOME (#251)
* [docker-base] add gradle 6.2 and set ANDROID_NDK_HOME

* update CHANGELOG
2020-09-04 11:19:08 +02:00
Dominik Sokal 0b13494402 configure turtle to use the redis ca certificate (#232)
* add .vscode to gitignore

* configure turtle to use the redis ca certificate
2020-06-22 13:42:07 +02:00
Stanisław Chmiela ef6f9e3c5d Install only production dependencies in shell apps (#211)
<!-- Thanks for contributing to _turtle_! Before you submit your pull request, please make sure to check the following boxes by putting an x in the [ ] (don't: [x ], [ x], do: [x]) -->

### Checklist
- [x] I've read the [Contribution Guidelines](https://github.com/expo/turtle/blob/master/CONTRIBUTING.md).
- [x] I've updated the [CHANGELOG](https://github.com/expo/turtle/blob/master/CHANGELOG.md) if necessary.
- [x] I've ensured the unit and smoke tests are still passing - either by running `yarn test:unit` and `yarn test:smoke:[ios|android]` or by checking the appropriate CircleCI builds' statuses.
- [x] **I've manually tested whether the changes I made work as expected.**

### Motivation and Context

The build process doesn't use any of the `devDependencies` of shell apps and installing them makes the process slower and using more memory.

### Description

Added the `--production` flag to dependencies installer happening inside shell apps so it installs only the real dependencies of the project. This omits dependencies like:
- `babel-core`, `prettier`, `eslint` — we won't transpile, analyze, prettify JS when building the project,
- `expo-cli` — we could use `expo-cli` when building the project, but we don't (`expotools` are used and they are installed in the shell app)
- `expo-yarn-workspaces` — the `--ignore-scripts` removes the need for `expo-yarn-workspaces`

### Test plan

I have tested these changes as part of https://github.com/expo/turtle/pull/209. I have built two apps on SDK37 and both were built successfully.
2020-04-20 10:33:49 +02:00
Wojciech Kozyra f87dcc6972 add --ignore-scripts to yarn install in shellapp 2020-04-09 16:37:56 +02:00
Wojciech Kozyra 9bfa7c5674 improve deployment speed for android workers (#205)
improve deployment speed for android workers
2020-04-09 13:43:45 +02:00
Dominik Sokal f63e34ace3 Upgrade node to v12 / Drop node v8 support / Drop SDK 31 and 32 (#186) 2020-03-23 16:17:18 -07:00
Dominik Sokal 1e29177bd0 preinstall gradle 4.10.2 and 5.6.3 (#189) 2020-03-09 13:56:02 +01:00
Dominik Sokal 2f628efda3 Upgrade NDK to 17c (#188)
* upgrade ndk

* fix Dockerfile

* update CHANGELOG
2020-03-06 12:06:52 +01:00
Dominik Sokal a6501db230 install jq on android builder (#178) 2020-02-04 12:53:33 +01:00
Dominik Sokal 350f68e330 make docker image builds faster (#125)
* make docker image builds faster

* Update docker-base/Dockerfile
2019-07-31 13:41:00 +02:00
Dominik Sokal d900e3c491 unify installing android sdk (in docker and with turtle-cli) (#94) 2019-06-13 11:19:41 +02:00
Wojciech KozyraandDominik Sokal 32b049df86 add supervisord (#93)
* add supervisord

- restart pod only if there is at least 5 failures in 10 minutes

* Update CHANGELOG.md

Co-Authored-By: Dominik Sokal <[email protected]>

* Update scripts/android/supervisordEventListener.sh

Co-Authored-By: Dominik Sokal <[email protected]>
2019-06-13 10:53:30 +02:00
Dominik Sokal 3588c5a5c4 don't move workingdir to /tmp 2019-06-10 12:57:03 +02:00
Tomasz Sapeta ed12f3c34b SDK33 (#75)
* [android] Add SDK33 shell tarball

* install rsync in docker

* drop support for sdk 26

* don't yarn install for sdk 33

* make build logs cleaner

* hopefully fix Dockerfile (can't test this locally)

* really fix dockerfile

* revert yarn install for sdk 33

* move setting NODE_ENV up

* [ios] add SDK33 shell tarball

* [ios] add adhoc shell tarball

* mv workingdir to /tmp prior to running yarn install

* [android] Update shell tarball for SDK33 with [email protected]

* Update SDK33 Android tarball with Android 8.0 fixes, AppAuth fixes and updated JSC

* [android] Update shell tarball for SDK32 with proper underlying native RN libraries and JSC (#78)

* Upgrade XDL dependency to 54.1.3 to include https://github.com/expo/expo-cli/pull/677

* Update Android SDK33 tarball with extra comments to remove unnecessary projects from settings.gradle, see https://github.com/expo/expo/pull/4478

* [changelog] Updated CHANGELOG
2019-06-07 15:16:33 +02:00
Stanisław Chmiela 9480a51059 Add support for Android tarballs without universe-package.json (#53) 2019-05-08 12:39:12 +02:00
Dominik Sokal a59ce7a7ee don't use babel for transpilation (#42)
With these changes, we don't need babel and gulp anymore. It should make developing turtle less frustrating.
2019-04-12 12:07:12 +02:00
Dominik Sokal 71e270dc50 don't install git in docker 2019-03-28 14:59:56 +01:00
Dominik Sokal 167766519e Update Android build tools (#12)
* update android build-tools

* update sdkmanager

* pipe yes to sdkmanager

* accepty licenses prior to using sdkmanager

* accept android 28 license

* alter PATH

* do we need android ndk?

* revert installing Android NDK

* remove redundant backslash

* fix license issue when building with turtle-cli

* change path to build-tools
2019-01-21 16:00:44 +01:00
Stanisław Chmiela eebb843c62 Remove generating macros when building Android Turtle Docker image 2018-10-23 22:19:20 +02:00
Dominik Sokal d6d1470495 [circleci][turtle] generate dynamic macros for android only once (#3237)
* [circleci][turtle] generate dynamic macros for android only once

* [turtle] bump xdl version to 51.4.1-alpha.33+9302953
2018-10-23 11:52:17 +02:00
Stanisław Chmiela 67591926b8 Separate versioned Android ABIs (#3215)
* Upgrade Turtle to use per-SDK working directories

* Uncomment shell_app_base_android_new job

* Add Android tarball URLs

* Fix Android Turtle Dockerfile

* End for-loops in Android Turtle Dockerfile

* Update Android shellTarballs

* Use canary version of XDL in Turtle

* __internal__ has been moved to secrets in expo/expo

* Update Android shellTarballs

* Update canary XDL

* Update Android shellTarballs

* Update canary XDL

* Update Android shellTarballs

* Update internal-docs

* Update exponent submodule

* Remove obsolete fetchRemoteAndroidTarball code

* Update exponent submodule

* Update canary XDL

* Update XDL and exponent submodule

* Update Android tarballs
2018-10-19 15:45:15 +02:00
Eric Samelson e3d70ea377 [turtle] bump node version to 8.12.0 for android turtle docker image 2018-09-11 17:04:41 -07:00
Dominik Sokal 95678617af iOS standalone apps with only one SDK version (#2945)
* [xdl][exponent] support building ios shell apps with only one sdk version

* [circleci] add jobs for building shell apps for each sdk

* [REVERT ME] [circleci] temporarily disable some jobs

* [circleci] fix shell_app_base_ios_upload_single_sdk

* [xdl][turtle][terraform] support building apps with single sdk in turtle

* [turtle][internal-docs] addresses review comments

* [turtle] add more shell tarballs urls (this has to be changes to the proper values anyway - from ios release branch)

* [circleci] don't pass sdk version to gulp task in shell_app_sim_base_ios job

* [turtle] fix ts errors

* [turtle] remove redundant file with types
2018-08-28 09:16:52 +02:00
Eric Samelson cd05f9e34e [ci][turtle] add all universe deps of tools-public to android shell tarball 2018-08-17 18:27:55 -07:00
Dominik Sokal 5fb68a2b24 Revert "[turtle] hopefully fix android deployment"
This reverts commit 94cfbeef03dbc8be17e7c755fe878dacc8e7ba2c.
2018-08-17 14:24:57 +02:00
Dominik Sokal 70282f3538 [turtle] hopefully fix android deployment 2018-08-17 13:26:35 +02:00
Eric Samelson aae9f6c183 Revert "[turtle] yarn install tools-public folder before running generate-dynamic-macros"
This reverts commit 5021f6182f8b00726b0e403ac1f8bca768ff2840.
2018-08-16 13:24:19 -07:00
Eric Samelson cc0f3b8061 [turtle] yarn install tools-public folder before running generate-dynamic-macros 2018-08-15 16:40:29 -07:00
Nick Novitski d149a784d8 [turtle] Depend on local xdl directory 2018-07-25 20:25:31 -07:00
Dominik Sokal e20f52d8f1 [turtle-js][terraform] don't use nodemon on server 2018-07-12 10:15:00 +02:00
Jakub Stępak 9395702e7f [turtle] Change gradle version to 3.3 (#2733) 2018-06-27 13:47:30 +02:00
Dominik Sokal 8ea380adbf [turtle-js] install gradle 4.4 2018-06-21 11:23:11 +02:00
Dominik Sokal 44f0023904 [turtle-js] install real yarn 2018-06-20 17:04:42 +02:00
Dominik Sokal aebece9149 [turtle][circleci] add tools-public to android tarball; set TURTLE_WORKING_DIR_PATH 2018-06-20 10:46:50 +02:00
Dominik Sokal 445c1ff158 new turtle agent (#2513)
* [turtle] [xdl] [tools-public] move ios app signing from turtle to xdl

* [www] leave errored group expanded only if build is not successful

* [xdl] [tools-public] [turtle] move creating android keystore to xdl

* [xdl] [tools-public] [turtle] refactor client builder

* [tools-public] [turtle] use flag instead of number arg

* [www] revert some changes

* Put job on queue when build is triggered

* node env in message group

* [turtle-js] add boilerplate for new turtle node.js project

* [turtle-js] add module-resolver for babel

* [turtle-js] running turtle with proper NODE_ENV set

* [turtle-js] add config module

* [turtle-js] add eslint

* [turtle][www] Consume jobs from queue

* [turtle]Prettier

* [turtle-js] use config instead of env vars explicitly

* [turtle-js] simplify getting queue url

* [turtle-js] get rid of test code

* [turtle-js] add logger

* [turtle-js] change queue name

* [tools][turtle-js] update update-local-secrets script; use queue url from config

* [turtle-js] refactor aws module using promises

* [www][turtle-js] add validator for jobs objects; add builders boilerplate

* [turtle][www] Android build

* [www] use config var instead of fetching queue url

* [www] fetch ios credentials identified by bundleIdentifier

* [www] use new turtle only for 30% of builds

* [turtle-js] add jest

* wip

* [www] Fix sending to SQS

* [turtle][www] add logging mechanism for s3 log upload and output queue

* [xdl][tools-public][turtle-js] finish ios simulator builder

* [turtle-js] minor fixes

* [turtle-js] use api env vars config

* [turtle-js] working on ios archive builder

* [turtle-js] add plumber to prevent killing gulp process when error occurs

* [turtle-js] finish ios archive builder

* [turtle][www] Communication turtle -> www

* cleanup

* [turtle-js] add fake upload flag (for local builds)

* [xdl][turtle-js] add configuring xdl's logger

* [turtle][www] Upload to s3

* [www][turtle] Fix logs and create android credentials

* [www][turtle] omit started status

* [turtle-js] refactor ios builder

* [turtle] not dupa

* [turtle-js] fix imports

* [turtle-js] use same uploader for android and ios builders

* [www][turtle-js] improve logs

* [www][turtle] fix android keystore creating and signing

* [exp][www] Sent-to-queue is pending

* [turtle] suppress change msg visibility logging

* [turtle] send error on error

* [xdl] add sharp to dev dependencies

* [www] fix link to local build

* [turtle] Add build phase to android builder logger

* [turtle] Retry SQS calls

* [xdl] fix logger's extra fields

* [xdl][turtle-js] better ios builder logs

* [turtle][tf] Add Loggly integration

* [turtle] refactor

* [turtle-js] use correct function from xdl

* [xdl] don't pass FASTLANE_PASSWORD to fastlane

* [exp][www] add env var to force turtle version

* [turtle] Fix loggly integration and probably add sentry

* [turtle][www] Review changes

* [xdl][turtle-js] code review changes #1

* [turtle] Gracefully exit on SIGINT and SIGTERM

* [turtle][www] update credentials only if they does not exist

* [turtle] node version and comment

* [turtle][www] data validation and builder choose based on message

* [turtle] small improvments

* [turtle] review improvments

* [www] Retry sending to SQS

* [turtle-js][www] build jobs with old and new turtle in parallel

* [turtle-js] extract context factory to separate file

* [turtle][www] fix redlock; fix shell app builder

* [www] better slack report

* [xdl] add build phases for fastlane commands logs

* [turtle-js] add script for creating workingdir

* [xdl] add provisioning profile validation

* [turtle-js] add filtering secrets from logs

* [turtle-js] improve turtle logs

* [turtle-js] get rid of .secrets.local-common

* [turtle-js] better variable name

* [turtle-js] refactor promises -> async/await

* [turtle] Introduce Typescript

* [turtle-js] remove babel-plugin-transform-object-rest-spread

* Revert "[turtle-js] get rid of .secrets.local-common"

This reverts commit 9128c59ce514f68d5da5959705acd66c02aa2a32.

* [turtle-js] remove source_up & source_local from .secrets.local-common

* [turtle-js][www] use experienceName instead of fullExperienceName

* [turtle-js] remove redundant job properties

* [turtle-js] add boilerplate for turtle command

* [turtle-js] turtle cli - wip (ios archive builder works)

* [turtle-js] refactor function for generating ios credentials object; ensure simulator builder is working properly

* [turtle-js] add cli for building android standalone app

* [turtle-js] add npm watch script

* [turtle-js] refactor cli builders

* [turtle] Setup CI

* [circleci][turtle-js] finish android builder deployment process

* [circleci] change branch for new_turtle_android_staging job

* [xdl][turtle-js] temporarily change xdl to swmansion/xdl (REVERT ME)

* [turtle-js] alias xdl -> swmansion/xdl (REVERT ME)

* [turtle-js] add tsconfig and gulpfile to tarball

* [turtle-js] use --inspect only for development

* [circleci] uncomment commented jobs

* [turtle-js] change swmansion/xdl -> xdl

* [xdl][turtle-js] remove filtering secrets from logs; ensure secrets are not present in logs

* [www] add generating artifactId

* [circleci] change EXPO_CI_DEP_DIRS for shell_app_base_android_new
2018-06-19 10:26:03 +02:00