-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsimple-e2e.yml
74 lines (66 loc) · 2.34 KB
/
simple-e2e.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
version: 2.1
orbs:
rn: verypossible-labs/[email protected]
references:
# helper method to attach the workspace
# https://circleci.com/docs/2.0/configuration-reference#attachworkspace
attach_workspace: &attach_workspace
attach_workspace:
at: .
# helper param to persist to the workspace root
# https://circleci.com/docs/2.0/configuration-reference/#persisttoworkspace
persist_to_workspace: &persist_workspace
persist_to_workspace:
root: .
paths: .
jobs:
checkout_code:
executor:
name: rn/linux_js
steps:
- checkout
- *persist_workspace
# all js-related tasks would go in this job
# e.g. linting and testing
# note that this is a custom job and is not part of the orb
analyze_js:
executor: rn/linux_js
steps:
- *attach_workspace
- rn/yarn_install
- run:
name: Run eslint
command: yarn lint # assumes you have a 'lint' command configuration in the scripts key of your package.json
- run:
name: Run unit tests
command: yarn test # assumes you have a 'test' command configuration in the scripts key of your package.json
workflows:
build:
jobs:
- checkout_code
- analyze_js:
requires:
- checkout_code
# build an iOS release build
# see src/jobs/ios_build.yml for all parameters
#
# note: this job builds and runs e2e tests for iOS. doing this in a single job avoids duplication and spares macOS minutes
# if you don't want e2e testing, you can use the rn/ios_build job: src/jobs/ios_build.yml which has the same parameters seen here (see examples/simple.yml)
- rn/ios_build_and_test:
name: build_ios_release # a name is required to reference this job in other parts of the config
project_type: workspace
project_path: ios/MyApp.xcworkspace
build_configuration: Release
device: iPhone 11 Pro
scheme: MyApp
node_version: "lts"
requires:
- analyze_js
# build an Android release build
# see src/jobs/android_build for all parameters
- rn/android_build:
name: build_android_release # a name is required to reference this job in other parts of the config
build_type: release
bundle_type: aab
requires:
- analyze_js