Skip to content

Commit 021746b

Browse files
committed
Testing Android emulator.
1 parent 9047ac1 commit 021746b

File tree

3 files changed

+22160
-29031
lines changed

3 files changed

+22160
-29031
lines changed
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Ensures certain packages work on simulators
2+
name: Test Emulators
3+
4+
on:
5+
push:
6+
7+
jobs:
8+
test:
9+
name: Test Android
10+
runs-on: ubuntu-xl
11+
env:
12+
AVD_NAME: ubuntu-avd-x86_64-31
13+
steps:
14+
- uses: actions/checkout@v4
15+
with:
16+
persist-credentials: false
17+
18+
- name: Enable KVM group perms
19+
run: |
20+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
21+
sudo udevadm control --reload-rules
22+
sudo udevadm trigger --name-match=kvm
23+
24+
- name: Gradle Cache
25+
uses: gradle/gradle-build-action@v2
26+
27+
- name: AVD Cache
28+
uses: actions/cache@v3
29+
id: avd-cache
30+
with:
31+
path: |
32+
~/.android/avd/*
33+
~/.android/adb*
34+
key: avd-31
35+
36+
- name: Set up JDK 17
37+
uses: actions/setup-java@v3
38+
with:
39+
java-version: 17
40+
distribution: 'adopt'
41+
cache: 'gradle'
42+
43+
- name: Setup NodeJS
44+
uses: actions/setup-node@v4
45+
with:
46+
node-version-file: '.nvmrc'
47+
48+
- uses: pnpm/action-setup@v2
49+
name: Install pnpm
50+
with:
51+
version: 9
52+
run_install: false
53+
54+
- name: Get pnpm store directory
55+
shell: bash
56+
run: |
57+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
58+
59+
- uses: actions/cache@v3
60+
name: Setup pnpm cache
61+
with:
62+
path: ${{ env.STORE_PATH }}
63+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
64+
restore-keys: |
65+
${{ runner.os }}-pnpm-store-
66+
67+
- name: Install dependencies
68+
run: pnpm install
69+
70+
- name: Build
71+
run: pnpm build:packages
72+
73+
- name: Install Detox dependencies
74+
run: |
75+
brew tap wix/brew
76+
brew install applesimutils
77+
npm install -g detox-cli
78+
detox clean-framework-cache && detox build-framework-cache
79+
80+
- name: Initialize Android Folder
81+
run: mkdir -p ~/.android/avd
82+
83+
- name: create AVD and generate snapshot for caching
84+
if: steps.avd-cache.outputs.cache-hit != 'true'
85+
uses: reactivecircus/[email protected]
86+
with:
87+
api-level: 31
88+
force-avd-creation: false
89+
target: google_apis
90+
arch: x86_64
91+
disable-animations: false
92+
avd-name: $AVD_NAME
93+
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
94+
script: echo "Generated AVD snapshot for caching."
95+
96+
- name: Run connected Android tests
97+
uses: ReactiveCircus/[email protected]
98+
with:
99+
api-level: 31
100+
target: google_apis
101+
arch: x86_64
102+
avd-name: $AVD_NAME
103+
script: pnpm android
104+
force-avd-creation: false
105+
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
106+
disable-animations: true
107+
108+
- name: Android Emulator Build
109+
working-directory: ./tools/powersynctests
110+
run: pnpx detox build --configuration android.emu.release
111+
112+
- name: Android Emultator Test
113+
working-directory: ./tools/powersynctests
114+
run: pnpx detox test --configuration android.emu.release --headless
Lines changed: 58 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,71 @@
1-
# Ensures certain packages work on simulators
2-
name: Test Simulators
1+
# # Ensures certain packages work on simulators
2+
# name: Test Simulators
3+
# on:
4+
# push:
35

4-
on:
5-
push:
6+
# jobs:
7+
# test:
8+
# name: Test Simulators
9+
# runs-on: macOS-15
610

7-
jobs:
8-
test:
9-
name: Test Simulators
10-
runs-on: macOS-15
11+
# steps:
12+
# - uses: actions/checkout@v4
13+
# with:
14+
# persist-credentials: false
1115

12-
steps:
13-
- uses: actions/checkout@v4
14-
with:
15-
persist-credentials: false
16+
# - name: CocoaPods Cache
17+
# uses: actions/cache@v3
18+
# id: cocoapods-cache
19+
# with:
20+
# path: |
21+
# tools/powersynctests/ios/Pods/*
22+
# key: ${{ runner.os }}-${{ hashFiles('tools/powersynctests/ios/Podfile.lock') }}
1623

17-
- name: CocoaPods Cache
18-
uses: actions/cache@v3
19-
id: cocoapods-cache
20-
with:
21-
path: |
22-
tools/powersynctests/ios/Pods/*
23-
key: ${{ runner.os }}-${{ hashFiles('tools/powersynctests/ios/Podfile.lock') }}
24+
# - name: Setup NodeJS
25+
# uses: actions/setup-node@v4
26+
# with:
27+
# node-version-file: '.nvmrc'
2428

25-
- name: Setup NodeJS
26-
uses: actions/setup-node@v4
27-
with:
28-
node-version-file: '.nvmrc'
29+
# - uses: pnpm/action-setup@v2
30+
# name: Install pnpm
31+
# with:
32+
# version: 9
33+
# run_install: false
2934

30-
- uses: pnpm/action-setup@v2
31-
name: Install pnpm
32-
with:
33-
version: 9
34-
run_install: false
35+
# - name: Get pnpm store directory
36+
# shell: bash
37+
# run: |
38+
# echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
3539

36-
- name: Get pnpm store directory
37-
shell: bash
38-
run: |
39-
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
40+
# - uses: actions/cache@v3
41+
# name: Setup pnpm cache
42+
# with:
43+
# path: ${{ env.STORE_PATH }}
44+
# key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
45+
# restore-keys: |
46+
# ${{ runner.os }}-pnpm-store-
4047

41-
- uses: actions/cache@v3
42-
name: Setup pnpm cache
43-
with:
44-
path: ${{ env.STORE_PATH }}
45-
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
46-
restore-keys: |
47-
${{ runner.os }}-pnpm-store-
48+
# - name: Install dependencies
49+
# run: pnpm install
4850

49-
- name: Install dependencies
50-
run: pnpm install
51+
# - name: Build
52+
# run: pnpm build:packages
5153

52-
- name: Build
53-
run: pnpm build:packages
54+
# - name: Install Detox dependencies
55+
# run: |
56+
# brew tap wix/brew
57+
# brew install applesimutils
58+
# npm install -g detox-cli
59+
# detox clean-framework-cache && detox build-framework-cache
5460

55-
- name: Install Detox dependencies
56-
run: |
57-
brew tap wix/brew
58-
brew install applesimutils
59-
npm install -g detox-cli
60-
detox clean-framework-cache && detox build-framework-cache
61+
# - name: Install CocoaPods dependencies
62+
# working-directory: tools/powersynctests/ios
63+
# run: pod install
6164

62-
- name: Install CocoaPods dependencies
63-
working-directory: tools/powersynctests/ios
64-
run: pod install
65+
# - name: iOS Simulator Build
66+
# working-directory: ./tools/powersynctests
67+
# run: pnpx detox build --configuration ios.sim.release
6568

66-
- name: iOS Simulator Build
67-
working-directory: ./tools/powersynctests
68-
run: pnpx detox build --configuration ios.sim.release
69-
70-
- name: iOS Simulator Test
71-
working-directory: ./tools/powersynctests
72-
run: pnpx detox test --configuration ios.sim.release --cleanup
69+
# - name: iOS Simulator Test
70+
# working-directory: ./tools/powersynctests
71+
# run: pnpx detox test --configuration ios.sim.release --cleanup

0 commit comments

Comments
 (0)