Skip to content

Commit 1af1098

Browse files
author
Krzysztof Borowy
authored
[chore] Preparation for RC (#254)
* Preparation for RC
1 parent 92a1298 commit 1af1098

File tree

24 files changed

+325
-1148
lines changed

24 files changed

+325
-1148
lines changed

.circleci/config.yml

Lines changed: 7 additions & 211 deletions
Original file line numberDiff line numberDiff line change
@@ -18,89 +18,24 @@ checkout step for each job: &addWorkspace
1818
default config for js: &js_defaults
1919
<<: *defaults
2020
docker:
21-
- image: circleci/node:8
21+
- image: circleci/node:10
2222

23-
default config for macOS: &macos_defaults
24-
<<: *defaults
25-
resource_class: 'medium'
26-
macos:
27-
xcode: '10.1.0'
28-
29-
default config for android apk builds: &android_defaults
30-
<<: *defaults
31-
docker:
32-
- image: reactnativecommunity/react-native-android
33-
resource_class: 'medium'
34-
working_directory: ~/async_storage
35-
environment:
36-
- _JAVA_OPTIONS: '-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Xmx2048m'
37-
- GRADLE_OPTS: '-Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-XX:+HeapDumpOnOutOfMemoryError -Xmx2048m"'
38-
- BUILD_THREADS: 2
3923

4024
# ==============================
4125
# CACHE CONFIG
4226
# ==============================
4327

44-
# brew
45-
save brew cache: &cache_save_brew
46-
name: Saving Brew cache
47-
paths:
48-
- /usr/local/Homebrew
49-
- ~/Library/Caches/Homebrew
50-
key: v1-brew-cache-{{ arch }}
51-
52-
restore brew cache: &cache_restore_brew
53-
name: Restoring Brew cache
54-
keys:
55-
- v1-brew-cache-{{ arch }}
56-
57-
save brew cache for android: &cache_save_brew_android
58-
name: Saving Brew cache for android
59-
paths:
60-
- /usr/local/Homebrew
61-
- ~/Library/Caches/Homebrew
62-
key: v1-brew-cache-{{ arch }}-android
63-
64-
restore brew cache for android: &cache_restore_brew_android
65-
name: Restoring Brew cache for android
66-
keys:
67-
- v1-brew-cache-{{ arch }}-android
68-
6928
# yarn
7029
save yarn cache: &cache_save_yarn
7130
name: Saving Yarn cache
7231
paths:
7332
- ~/.cache/yarn
74-
- ~/Library/Detox
75-
key: v1-yarn-cache-{{ checksum "package.json" }}-{{ arch }}
33+
key: yarn-cache-{{ checksum "package.json" }}-{{ arch }}
7634

7735
restore yarn cache: &cache_restore_yarn
7836
name: Restoring Yarn cache
7937
keys:
80-
- v1-yarn-cache-{{ checksum "package.json" }}-{{ arch }}
81-
82-
# gradle
83-
save gradle wrapper cache: &cache_save_gradle_wrapper
84-
name: Saving Gradle Wrapper cache
85-
paths:
86-
- ~/.gradle/wrapper
87-
key: gradle-wrapper-v1-{{ checksum "example/android/gradle/wrapper/gradle-wrapper.properties" }}
88-
89-
save gradle build cache: &cache_save_gradle_build
90-
name: Saving Gradle app/build cache
91-
paths:
92-
- ~/.gradle/caches
93-
key: app-build-gradle-v1-{{ checksum "example/android/app/build.gradle" }}
94-
95-
restore gradle wrapper cache: &cache_restore_gradle_wrapper
96-
name: Restoring Gradle Wrapper cache
97-
keys:
98-
- gradle-wrapper-v1-{{ checksum "example/android/gradle/wrapper/gradle-wrapper.properties" }}
99-
100-
restore gradle build cache: &cache_restore_gradle_build
101-
name: Restoring Gradle app/build cache
102-
keys:
103-
- app-build-gradle-v1-{{ checksum "example/android/app/build.gradle" }}
38+
- yarn-cache-{{ checksum "package.json" }}-{{ arch }}
10439

10540

10641
# ==============================
@@ -134,163 +69,24 @@ jobs:
13469
steps:
13570
- *addWorkspace
13671
- run:
137-
name: Type check
138-
command: yarn test:types
72+
name: Typescript check
73+
command: yarn lerna run test:types
13974

14075
"Test: unit":
14176
<<: *js_defaults
14277
steps:
14378
- *addWorkspace
14479
- run:
145-
name: Unit tests run
80+
name: Unit tests
14681
command: yarn test:unit
14782

148-
"Test: iOS e2e":
149-
<<: *macos_defaults
150-
steps:
151-
- *addWorkspace
152-
- restore-cache: *cache_restore_brew
153-
- run:
154-
name: Configure OSX Environment
155-
command: |
156-
HOMEBREW_NO_AUTO_UPDATE=1 brew install node@8 >/dev/null
157-
HOMEBREW_NO_AUTO_UPDATE=1 brew tap wix/brew >/dev/null
158-
HOMEBREW_NO_AUTO_UPDATE=1 brew install applesimutils >/dev/null
159-
touch .watchmanconfig
160-
node -v
161-
- save-cache: *cache_save_brew
162-
- restore-cache: *cache_restore_yarn
163-
- run:
164-
name: Installing Yarn dependencies
165-
command: yarn --pure-lockfile --non-interactive --cache-folder ~/.cache/yarn
166-
- save-cache: *cache_save_yarn
167-
- run:
168-
name: Build iOS app
169-
command: yarn build:e2e:ios
170-
171-
- run:
172-
name: Run e2e tests
173-
command: yarn test:e2e:ios
174-
175-
"Build: Android release apk":
176-
<<: *android_defaults
177-
steps:
178-
- *addWorkspace
179-
- restore-cache: *cache_restore_yarn
180-
- run:
181-
name: Installing Yarn dependencies
182-
command: yarn --pure-lockfile --non-interactive --cache-folder ~/.cache/yarn
183-
- save-cache: *cache_save_yarn
184-
185-
# Gradle
186-
- restore-cache: *cache_restore_gradle_wrapper
187-
- restore-cache: *cache_restore_gradle_build
188-
- run:
189-
name: Downloading Gradle dependencies
190-
command: cd example/android && ./gradlew --max-workers 2 fetchDependencies
191-
- save-cache: *cache_save_gradle_wrapper
192-
- save-cache: *cache_save_gradle_build
193-
194-
# Build and test
195-
- run:
196-
name: Build Android apk
197-
command: cd example/android && ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release --max-workers 2
198-
199-
- persist_to_workspace:
200-
root: ~/async_storage
201-
paths:
202-
- example/android/app/build/outputs/apk/*
203-
204-
"Test: Android e2e":
205-
<<: *macos_defaults
206-
steps:
207-
- *addWorkspace
208-
- run:
209-
name: Configure env variables
210-
command: |
211-
echo 'export ANDROID_HOME="/usr/local/share/android-sdk"' >> $BASH_ENV
212-
echo 'export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"' >> $BASH_ENV
213-
echo 'export PATH="$ANDROID_SDK_ROOT/emulator:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$ANDROID_SDK_ROOT/tools/bin:$PATH"' >> $BASH_ENV
214-
echo 'export QEMU_AUDIO_DRV=none' >> $BASH_ENV
215-
echo 'export JAVA_HOME=/Library/Java/Home' >> $BASH_ENV
216-
source $BASH_ENV
217-
218-
# Android tools
219-
- restore-cache: *cache_restore_brew_android
220-
- run:
221-
name: Install Android SDK tools
222-
command: |
223-
HOMEBREW_NO_AUTO_UPDATE=1 brew tap homebrew/cask >/dev/null
224-
HOMEBREW_NO_AUTO_UPDATE=1 brew cask install android-sdk >/dev/null
225-
HOMEBREW_NO_AUTO_UPDATE=1 brew cask install intel-haxm >/dev/null
226-
HOMEBREW_NO_AUTO_UPDATE=1 brew install node@8 >/dev/null >/dev/null
227-
- save-cache: *cache_save_brew_android
228-
229-
- run:
230-
name: Install Android emulator
231-
shell: /bin/bash -e
232-
command: |
233-
yes | sdkmanager "platform-tools" "tools" >/dev/null
234-
yes | sdkmanager "platforms;android-28" "system-images;android-21;google_apis;x86" >/dev/null
235-
yes | sdkmanager "emulator" --channel=3 >/dev/null
236-
yes | sdkmanager "build-tools;28.0.3" >/dev/null
237-
yes | sdkmanager --licenses >/dev/null
238-
yes | sdkmanager --list
239-
240-
- run:
241-
name: ADB start/stop
242-
command: |
243-
adb start-server
244-
adb devices
245-
adb kill-server
246-
ls -la ~/.android
247-
248-
- run:
249-
name: Create emulator
250-
command: |
251-
avdmanager create avd \
252-
--force \
253-
-n "Emu_E2E" \
254-
-k "system-images;android-21;google_apis;x86" \
255-
-g "google_apis" \
256-
-d "Nexus 4"
257-
258-
259-
260-
- run:
261-
name: Start emulator in background
262-
background: true
263-
command: |
264-
emulator -avd "Emu_E2E" \
265-
-cores 1 \
266-
-gpu auto \
267-
-accel on \
268-
-memory 1024 \
269-
-no-audio \
270-
-no-snapshot \
271-
-no-boot-anim \
272-
-no-window \
273-
-logcat '*:W' | grep -i "ReactNative"
274-
275-
- run:
276-
name: Wait for emulator to boot
277-
command: yarn build:e2e:android
278-
279-
- run:
280-
name: Wake device
281-
command: |
282-
adb shell input keyevent 82
283-
284-
- run:
285-
name: Run e2e tests
286-
command: yarn test:e2e:android
28783

28884
# ==============================
28985
# WORK FLOWS
29086
# ==============================
29187
workflows:
29288
version: 2
293-
build_and_test_wip:
89+
"Basic tests":
29490
jobs:
29591
- "Setup environment"
29692
- "Test: lint":

.circleci/scripts/run_android_e2e.sh

Lines changed: 0 additions & 47 deletions
This file was deleted.

.circleci/scripts/run_ios_e2e.sh

Lines changed: 0 additions & 81 deletions
This file was deleted.

0 commit comments

Comments
 (0)