aboutsummaryrefslogtreecommitdiff
path: root/.circleci/config.yml
blob: 4c2b40eee17912bc5572b52f46a8d4ca43b42463 (plain)
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
# Specify CircleCI version.
version: 2.1

# Invoke the react-native orb.
orbs:
  rn: react-native-community/react-native@5.1.0

# Define runnable jobs.
jobs:
  # Check out source code and persist root.
  checkout_code:
    executor: rn/linux_js
    steps:
      - checkout
      - persist_to_workspace:
          paths: .
          root: .
  lint_code:
    executor: rn/linux_js
    steps:
      - attach_workspace:
          at: .
      - rn/yarn_install
      - run:
          command: yarn lint
          name: Run ESLint (`yarn lint`)
  # Run linter, type-checker, and tests.
  analyze_code:
    executor: rn/linux_js
    steps:
      - attach_workspace:
          at: .
      - rn/yarn_install
      - run:
          command: yarn lint
          name: Run ESLint (`yarn lint`)
      - run:
          command: yarn type
          name: Run TSC (`yarn type`)
      - run:
          command: yarn test
          name: Run Jest (`yarn test`)

# Define workflows.
workflows:
  # Simple workflow for just linting
  linter:
    jobs:
      - checkout_code
      - lint_code:
          requires:
            - checkout_code
  # test:
  #   jobs:
  #     - checkout_code
  #     - lint_code:
  #         requires:
  #           - checkout_code
  #     - rn/ios_build:
  #         name: build_ios_release
  #         project_path: ios/Frontend.xcodeproj
  #         device: 'iPhone 11'
  #         build_configuration: Debug
  #         scheme: Frontend
  #         requires:
  #           - analyze_code