1
1
version : 2.1
2
2
3
3
orbs :
4
- rn :
react-native-community/[email protected]
4
+ rn :
react-native-community/[email protected]
5
+ android :
circleci/[email protected]
5
6
6
7
# - rn/yarn_install
7
8
# fails with Error untarring cache: Error extracting tarball /var/folders/bq/mjrgbpkx5h1g_b22fpv0tlzc0000gn/T/cache376822577 : tmp/yarn/: Cannot extract through symlink tmp/yarn tmp/yarn/v6/: Cannot extract through symlink tmp/yarn/v6 tmp/yarn/v6/.tmp/: Cannot extract through symlink tmp/yarn/v6/.tmp tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel/code-frame/: Cannot extract: exit status 1
8
9
# that is why we use yarn install --frozen-lockfile but that is SLOW! help us to fix this!
9
10
10
11
jobs :
11
- checkout_code :
12
+ analyse_js :
12
13
executor :
13
14
name : rn/linux_js
14
- node_version : ' 12.10 .0'
15
+ node_version : ' 14.17 .0'
15
16
steps :
16
17
- checkout
17
- - persist_to_workspace :
18
- paths : .
19
- root : .
20
- analyse_js :
21
- executor : rn/linux_js
22
- steps :
23
- - attach_workspace :
24
- at : .
25
18
# - rn/yarn_install
26
19
# fails with Error untarring cache: Error extracting tarball /var/folders/bq/mjrgbpkx5h1g_b22fpv0tlzc0000gn/T/cache376822577 : tmp/yarn/: Cannot extract through symlink tmp/yarn tmp/yarn/v6/: Cannot extract through symlink tmp/yarn/v6 tmp/yarn/v6/.tmp/: Cannot extract through symlink tmp/yarn/v6/.tmp tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel/code-frame/: Cannot extract: exit status 1
27
20
- run :
28
- command : yarn install --frozen-lockfile --ignore-engines
21
+ command : yarn install --frozen-lockfile
29
22
name : yarn install
30
23
- run :
31
24
command : yarn lint
@@ -36,84 +29,96 @@ jobs:
36
29
- run :
37
30
command : yarn test
38
31
name : Jest
32
+
39
33
e2e_release_ios :
40
34
executor :
41
35
name : rn/macos
42
- xcode_version : ' 11.4 .0'
36
+ xcode_version : ' 13.1 .0'
43
37
steps :
44
- - attach_workspace :
45
- at : .
46
- - rn/setup_macos_executor :
47
- node_version : ' 12.10.0'
38
+ - checkout
39
+ - run :
40
+ name : install applesimutils
41
+ command : |
42
+ HOMEBREW_NO_INSTALL_CLEANUP=1 HOMEBREW_NO_AUTO_UPDATE=1 brew tap wix/brew >/dev/null
43
+ HOMEBREW_NO_INSTALL_CLEANUP=1 HOMEBREW_NO_AUTO_UPDATE=1 brew install applesimutils >/dev/null
48
44
- rn/ios_simulator_start :
49
45
device : ' iPhone 11'
50
46
# - rn/yarn_install
51
47
- run :
52
- command : yarn install --frozen-lockfile --ignore-engines
48
+ command : yarn install --frozen-lockfile
53
49
name : yarn install
54
50
- rn/pod_install :
55
51
pod_install_directory : ' example/ios'
52
+ - run :
53
+ command : curl https://raw.githubusercontent.com/facebook/react-native/6334ac35ac3cbc2c84b2d46d46ec118bf9bf714d/scripts/find-node.sh > node_modules/react-native/scripts/find-node.sh
54
+ name : fix issue with nvm # will be fixed in RN 67 (https://github.com/react-native-community/upgrade-support/issues/138)
56
55
- run :
57
56
command : yarn detox:ios:build:release
58
- name : build for detox
57
+ name : build app for e2e tests
59
58
- run :
60
59
command : yarn detox:ios:test:release
61
- name : test detox
60
+ name : run e2e tests
62
61
- store_artifacts :
63
62
path : ./artifacts
63
+
64
64
e2e_release_android :
65
- # we need to use mac to run emulator with acceleration
66
- # see https://support.circleci.com/hc/en-us/articles/360000028928-Testing-with-Android-emulator-on-CircleCI-2-0
67
65
executor :
68
- name : rn/macos
69
- xcode_version : ' 11.4.0 '
66
+ name : android/android-machine
67
+ resource-class : large
70
68
steps :
71
- - attach_workspace :
72
- at : .
73
- - rn/setup_macos_executor :
74
- node_version : ' 12.10.0'
75
- # - rn/yarn_install
69
+ - checkout
76
70
- run :
77
- command : yarn install --frozen-lockfile --ignore-engines
71
+ name : change default node version
72
+ command : |
73
+ nvm install v15.11.0
74
+ nvm alias default v15.11.0
75
+ echo 'export PATH=/opt/circleci/.nvm/versions/node/v15.11.0/bin:$PATH' >> $BASH_ENV
76
+ - android/create-avd :
77
+ avd-name : TestingAVD
78
+ system-image : system-images;android-29;default;x86
79
+ install : true
80
+ - android/start-emulator :
81
+ avd-name : TestingAVD
82
+ no-window : true
83
+ restore-gradle-cache-prefix : v1a
84
+ post-emulator-launch-assemble-command : " pwd"
85
+ - android/disable-animations
86
+ - run :
87
+ command : npm install --global yarn
88
+ name : install yarn
89
+ - run :
90
+ command : yarn install --frozen-lockfile
78
91
name : yarn install
79
- - rn/android_emulator_start :
80
- logcat_grep : ' com.reactcommunity.rndatetimepicker'
81
92
- run :
82
93
command : yarn detox:android:build:release
83
- name : build for detox
94
+ name : build app for e2e tests
84
95
- run :
85
96
command : yarn detox:android:test:release
86
- name : test detox
97
+ name : run e2e tests
87
98
- store_artifacts :
88
99
path : ./artifacts
100
+
89
101
publish :
90
- executor : rn/linux_js
102
+ executor :
103
+ name : rn/linux_js
104
+ node_version : ' 14.17.0'
91
105
steps :
92
- - attach_workspace :
93
- at : .
106
+ - checkout
94
107
# - rn/yarn_install
95
108
# fails with Error untarring cache: Error extracting tarball /var/folders/bq/mjrgbpkx5h1g_b22fpv0tlzc0000gn/T/cache376822577 : tmp/yarn/: Cannot extract through symlink tmp/yarn tmp/yarn/v6/: Cannot extract through symlink tmp/yarn/v6 tmp/yarn/v6/.tmp/: Cannot extract through symlink tmp/yarn/v6/.tmp tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel/code-frame/: Cannot extract: exit status 1
96
109
- run :
97
- command : yarn install --frozen-lockfile --ignore-engines
110
+ command : yarn install --frozen-lockfile
98
111
name : yarn install
99
112
- run :
100
113
command : npx semantic-release
101
114
name : Publish to NPM
102
115
103
-
104
116
workflows :
105
117
test :
106
118
jobs :
107
- - checkout_code
108
- - analyse_js :
109
- requires :
110
- - checkout_code
111
- - e2e_release_ios :
112
- requires :
113
- - analyse_js
114
- - e2e_release_android :
115
- requires :
116
- - analyse_js
119
+ - analyse_js
120
+ - e2e_release_ios
121
+ - e2e_release_android
117
122
- publish :
118
123
requires :
119
124
- e2e_release_android
0 commit comments