Skip to content

Commit 43a1ee2

Browse files
committed
Refactor CI workflows: remove deprecated test workflows and add unit test workflow
1 parent 8dcc21a commit 43a1ee2

File tree

9 files changed

+465
-504
lines changed

9 files changed

+465
-504
lines changed

.circleci/config.yml

-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ jobs:
108108
cd ..
109109
110110
workflows:
111-
version: 2
112111
detox-tests:
113112
jobs:
114113
- detox

.github/workflows/ci.yml

+157-157
Original file line numberDiff line numberDiff line change
@@ -1,157 +1,157 @@
1-
# name: CI
2-
# on:
3-
# push:
4-
# branches:
5-
# - main
6-
# pull_request:
7-
# branches:
8-
# - main
9-
# merge_group:
10-
# types:
11-
# - checks_requested
12-
13-
# jobs:
14-
# lint:
15-
# runs-on: ubuntu-latest
16-
# steps:
17-
# - name: Checkout
18-
# uses: actions/checkout@v3
19-
20-
# - name: Setup
21-
# uses: ./.github/actions/setup
22-
23-
# - name: Lint files
24-
# run: yarn lint
25-
26-
# - name: Typecheck files
27-
# run: yarn typecheck
28-
29-
# test:
30-
# runs-on: ubuntu-latest
31-
# steps:
32-
# - name: Checkout
33-
# uses: actions/checkout@v3
34-
35-
# - name: Setup
36-
# uses: ./.github/actions/setup
37-
38-
# - name: Run unit tests
39-
# run: yarn test --maxWorkers=2 --coverage
40-
41-
# build-library:
42-
# runs-on: ubuntu-latest
43-
# steps:
44-
# - name: Checkout
45-
# uses: actions/checkout@v3
46-
47-
# - name: Setup
48-
# uses: ./.github/actions/setup
49-
50-
# - name: Build package
51-
# run: yarn prepare
52-
53-
# build-android:
54-
# runs-on: ubuntu-latest
55-
# env:
56-
# TURBO_CACHE_DIR: .turbo/android
57-
# steps:
58-
# - name: Checkout
59-
# uses: actions/checkout@v3
60-
61-
# - name: Setup
62-
# uses: ./.github/actions/setup
63-
64-
# - name: Cache turborepo for Android
65-
# uses: actions/cache@v3
66-
# with:
67-
# path: ${{ env.TURBO_CACHE_DIR }}
68-
# key: ${{ runner.os }}-turborepo-android-${{ hashFiles('yarn.lock') }}
69-
# restore-keys: |
70-
# ${{ runner.os }}-turborepo-android-
71-
72-
# - name: Check turborepo cache for Android
73-
# run: |
74-
# TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:android').cache.status")
75-
76-
# if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
77-
# echo "turbo_cache_hit=1" >> $GITHUB_ENV
78-
# fi
79-
80-
# - name: Install JDK
81-
# if: env.turbo_cache_hit != 1
82-
# uses: actions/setup-java@v3
83-
# with:
84-
# distribution: 'zulu'
85-
# java-version: '17'
86-
87-
# - name: Finalize Android SDK
88-
# if: env.turbo_cache_hit != 1
89-
# run: |
90-
# /bin/bash -c "yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null"
91-
92-
# - name: Cache Gradle
93-
# if: env.turbo_cache_hit != 1
94-
# uses: actions/cache@v3
95-
# with:
96-
# path: |
97-
# ~/.gradle/wrapper
98-
# ~/.gradle/caches
99-
# key: ${{ runner.os }}-gradle-${{ hashFiles('example/android/gradle/wrapper/gradle-wrapper.properties') }}
100-
# restore-keys: |
101-
# ${{ runner.os }}-gradle-
102-
103-
# - name: Build example for Android
104-
# env:
105-
# JAVA_OPTS: "-XX:MaxHeapSize=6g"
106-
# run: |
107-
# yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}"
108-
109-
# build-ios:
110-
# runs-on: macos-14
111-
# env:
112-
# TURBO_CACHE_DIR: .turbo/ios
113-
# steps:
114-
# - name: Checkout
115-
# uses: actions/checkout@v3
116-
117-
# - name: Setup
118-
# uses: ./.github/actions/setup
119-
120-
# - name: Cache turborepo for iOS
121-
# uses: actions/cache@v3
122-
# with:
123-
# path: ${{ env.TURBO_CACHE_DIR }}
124-
# key: ${{ runner.os }}-turborepo-ios-${{ hashFiles('yarn.lock') }}
125-
# restore-keys: |
126-
# ${{ runner.os }}-turborepo-ios-
127-
128-
# - name: Check turborepo cache for iOS
129-
# run: |
130-
# TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:ios').cache.status")
131-
132-
# if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
133-
# echo "turbo_cache_hit=1" >> $GITHUB_ENV
134-
# fi
135-
136-
# - name: Cache cocoapods
137-
# if: env.turbo_cache_hit != 1
138-
# id: cocoapods-cache
139-
# uses: actions/cache@v3
140-
# with:
141-
# path: |
142-
# **/ios/Pods
143-
# key: ${{ runner.os }}-cocoapods-${{ hashFiles('example/ios/Podfile.lock') }}
144-
# restore-keys: |
145-
# ${{ runner.os }}-cocoapods-
146-
147-
# - name: Install cocoapods
148-
# if: env.turbo_cache_hit != 1 && steps.cocoapods-cache.outputs.cache-hit != 'true'
149-
# run: |
150-
# cd example/ios
151-
# pod install
152-
# env:
153-
# NO_FLIPPER: 1
154-
155-
# - name: Build example for iOS
156-
# run: |
157-
# yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}"
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
branches:
8+
- main
9+
merge_group:
10+
types:
11+
- checks_requested
12+
13+
jobs:
14+
lint:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v3
19+
20+
- name: Setup
21+
uses: ./.github/actions/setup
22+
23+
- name: Lint files
24+
run: yarn lint
25+
26+
- name: Typecheck files
27+
run: yarn typecheck
28+
29+
test:
30+
runs-on: ubuntu-latest
31+
steps:
32+
- name: Checkout
33+
uses: actions/checkout@v3
34+
35+
- name: Setup
36+
uses: ./.github/actions/setup
37+
38+
- name: Run unit tests
39+
run: yarn test --maxWorkers=2 --coverage
40+
41+
build-library:
42+
runs-on: ubuntu-latest
43+
steps:
44+
- name: Checkout
45+
uses: actions/checkout@v3
46+
47+
- name: Setup
48+
uses: ./.github/actions/setup
49+
50+
- name: Build package
51+
run: yarn prepare
52+
53+
build-android:
54+
runs-on: ubuntu-latest
55+
env:
56+
TURBO_CACHE_DIR: .turbo/android
57+
steps:
58+
- name: Checkout
59+
uses: actions/checkout@v3
60+
61+
- name: Setup
62+
uses: ./.github/actions/setup
63+
64+
- name: Cache turborepo for Android
65+
uses: actions/cache@v3
66+
with:
67+
path: ${{ env.TURBO_CACHE_DIR }}
68+
key: ${{ runner.os }}-turborepo-android-${{ hashFiles('yarn.lock') }}
69+
restore-keys: |
70+
${{ runner.os }}-turborepo-android-
71+
72+
- name: Check turborepo cache for Android
73+
run: |
74+
TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:android').cache.status")
75+
76+
if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
77+
echo "turbo_cache_hit=1" >> $GITHUB_ENV
78+
fi
79+
80+
- name: Install JDK
81+
if: env.turbo_cache_hit != 1
82+
uses: actions/setup-java@v3
83+
with:
84+
distribution: 'zulu'
85+
java-version: '17'
86+
87+
- name: Finalize Android SDK
88+
if: env.turbo_cache_hit != 1
89+
run: |
90+
/bin/bash -c "yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null"
91+
92+
- name: Cache Gradle
93+
if: env.turbo_cache_hit != 1
94+
uses: actions/cache@v3
95+
with:
96+
path: |
97+
~/.gradle/wrapper
98+
~/.gradle/caches
99+
key: ${{ runner.os }}-gradle-${{ hashFiles('example/android/gradle/wrapper/gradle-wrapper.properties') }}
100+
restore-keys: |
101+
${{ runner.os }}-gradle-
102+
103+
- name: Build example for Android
104+
env:
105+
JAVA_OPTS: "-XX:MaxHeapSize=6g"
106+
run: |
107+
yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}"
108+
109+
build-ios:
110+
runs-on: macos-14
111+
env:
112+
TURBO_CACHE_DIR: .turbo/ios
113+
steps:
114+
- name: Checkout
115+
uses: actions/checkout@v3
116+
117+
- name: Setup
118+
uses: ./.github/actions/setup
119+
120+
- name: Cache turborepo for iOS
121+
uses: actions/cache@v3
122+
with:
123+
path: ${{ env.TURBO_CACHE_DIR }}
124+
key: ${{ runner.os }}-turborepo-ios-${{ hashFiles('yarn.lock') }}
125+
restore-keys: |
126+
${{ runner.os }}-turborepo-ios-
127+
128+
- name: Check turborepo cache for iOS
129+
run: |
130+
TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:ios').cache.status")
131+
132+
if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
133+
echo "turbo_cache_hit=1" >> $GITHUB_ENV
134+
fi
135+
136+
- name: Cache cocoapods
137+
if: env.turbo_cache_hit != 1
138+
id: cocoapods-cache
139+
uses: actions/cache@v3
140+
with:
141+
path: |
142+
**/ios/Pods
143+
key: ${{ runner.os }}-cocoapods-${{ hashFiles('example/ios/Podfile.lock') }}
144+
restore-keys: |
145+
${{ runner.os }}-cocoapods-
146+
147+
- name: Install cocoapods
148+
if: env.turbo_cache_hit != 1 && steps.cocoapods-cache.outputs.cache-hit != 'true'
149+
run: |
150+
cd example/ios
151+
pod install
152+
env:
153+
NO_FLIPPER: 1
154+
155+
- name: Build example for iOS
156+
run: |
157+
yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}"

0 commit comments

Comments
 (0)