-
Notifications
You must be signed in to change notification settings - Fork 30
188 lines (182 loc) Β· 6.46 KB
/
pull-request.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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
name: Renderer
on:
push:
branches:
- main
- develop
pull_request:
env:
resourceRunID: ${{ github.run_id }}-${{ github.run_number }}
jobs:
androidBuild:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
api: [ 34 ]
abi: [ x86_64 ]
emulatorApi: [ 14 ]
tag: [ 'google_apis' ]
# include:
# - os: macOS-latest
# abi: x86_64
# api: 28
# emulatorApi: [ 9 ]
# tag: 'default'
steps:
- name: kvm support
run: |
egrep -c '(vmx|svm)' /proc/cpuinfo
id
sudo adduser $USER kvm
sudo chown -R $USER /dev/kvm
id
- name: prepare
run: |
sudo apt-get update && sudo apt-get install -y exiftool imagemagick xdg-utils libimage-exiftool-perl zsh jq xorg
# brew install exiftool imagemagick
- uses: actions/checkout@v4
with:
submodules: true
- name: set up JDK
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: 17
- name: assemble ViroCore
run: |
./gradlew :viroreact:assembleDebug
./gradlew :code-samples:ARPlacingObjects:assembleDebug
./gradlew :code-samples:ARRetail:assembleDebug
./gradlew :code-samples:ARTesla:assembleDebug
./gradlew :code-samples:ARHelloWorldAndroid:assembleDebug
./gradlew :code-samples:ARBlackPanther:assembleDebug
./gradlew :mainSample:assembleDebug
working-directory: ./android
- name: Upload result ViroCore
uses: actions/upload-artifact@v4.4.0
with:
name: viroCore
path: |
./android/virocore/build/outputs/aar/*.aar
./android/viroreact/build/outputs/aar/*.aar
./android/viroar/build/outputs/aar/*.aar
- name: Install Android SDK
uses: hannesa2/action-android/install-sdk@0.1.16.7
- name: Android Emulator test
uses: hannesa2/action-android/emulator-run-cmd@0.1.16.7
with:
cmd: ./gradlew cAT --continue
api: ${{ matrix.api }}
tag: ${{ matrix.tag }}
abi: ${{ matrix.abi }}
cmdOptions: -noaudio -no-boot-anim -no-window -metrics-collection
bootTimeout: 720
- uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: Viro-Espresso-${{ matrix.api }}-${{ matrix.abi }}-report-${{ matrix.emulatorApi }}
path: |
./**/build/reports/androidTests/connected
./**/build/outputs/androidTest-results/connected
- name: Archive screenshots ${{ matrix.emulatorApi }}
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: Viro-Screenshots-${{ matrix.api }}-${{ matrix.abi }}-${{ matrix.emulatorApi }}
path: |
basicSample/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected
basicSample/build/outputs/androidTest-results/connected
mainSample/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected
mainSample/build/outputs/androidTest-results/connected
serviceLibrary/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected
serviceLibrary/build/outputs/androidTest-results/connected
- name: Compare screenshots
if: ${{ always() }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
emulatorApi: ${{ matrix.emulatorApi }}
run: |
ls -ls mainSample/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected
cp mainSample/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected/emulator-5554\ -\ ${{ matrix.emulatorApi }}/* screenshotsToCompare${{ matrix.emulatorApi }}
export DISPLAY=:99
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
echo ${{ env.resourceRunID }}
./screenShotCompare.sh ${{ env.resourceRunID }}
- name: Archive screenshots diffs ${{ matrix.emulatorApi }}
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: Viro-Screenshots-diffs-${{ matrix.emulatorApi }}
path: |
screenshotDiffs
screenshotsToCompare${{ matrix.emulatorApi }}/view-*.png
- name: Show git status ${{ matrix.emulatorApi }}
if: ${{ always() }}
run: |
git add screenshotsToCompare${{ matrix.emulatorApi }}
git status
[ "$(git status -s -uno)" ] && exit 1 || exit 0
AndroidCheck:
name: Check
runs-on: ubuntu-latest
defaults:
run:
working-directory: android
steps:
- name: Checkout
uses: actions/checkout@v4.2.0
with:
fetch-depth: 0
- name: Install JDK
uses: actions/setup-java@v4
with:
distribution: "adopt"
java-version: 17
- uses: gradle/wrapper-validation-action@v3
- name: Code checks
run: ./gradlew :viroreact:check
- name: Archive Lint report
uses: actions/upload-artifact@v4.4.0
if: ${{ always() }}
with:
name: Viro-Lint-report
path: |
./**/build/reports/lint-results.html
./**/**/build/reports/lint-results.html
iosBuild:
runs-on: ${{ matrix.macOS }}
strategy:
fail-fast: false
matrix:
macOS: [ "macos-13" ]
xcode: [ "15.2.0" ]
steps:
- name: Investigate available XCode versions
run: ls -n /Applications/ | grep Xcode*
- uses: actions/checkout@v4.2.0
- name: Install gpg
run: brew install gnupg
- uses: maxim-lobanov/setup-xcode@v1.6.0
with:
xcode-version: ${{ matrix.xcode }}
- name: Install pod dependencies
run: |
cd ios
pod install --verbose
shell: bash
- name: Xcodebuild iOS Renderer (non-static)
run: |
cd ios
set -o pipefail && xcodebuild \
-workspace ViroRenderer.xcworkspace \
-scheme ViroKit \
-sdk iphoneos \
-configuration Release \
IPHONEOS_DEPLOYMENT_TARGET=13.0 | xcpretty
- name: Upload iOS Renderer artifact
uses: actions/upload-artifact@v4.4.0
with:
name: ios_dist.tgz
path: ./ios/dist/