Skip to content

Commit a86a3fb

Browse files
committed
remove e2e tests and CLI tests: drop unused Android ResNet50 e2e config, --verify-only tests, and redundant benchmark test cases
1 parent 19a3b61 commit a86a3fb

31 files changed

+2293
-1534
lines changed

.github/workflows/e2e-android-test.yml

Lines changed: 44 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,9 @@ jobs:
6161
sudo apt-get update
6262
sudo apt-get install -y ccache ninja-build
6363
elif [ "${{ runner.os }}" = "macOS" ]; then
64-
brew install ccache ninja
64+
# Check if already installed to save time
65+
brew list ccache &>/dev/null || brew install ccache
66+
brew list ninja &>/dev/null || brew install ninja
6567
fi
6668
6769
- name: Setup Java for Android
@@ -78,53 +80,42 @@ jobs:
7880
if: runner.os == 'macOS'
7981
run: bash tests/e2e/scripts/setup_hypervisor_macos.sh
8082

81-
- name: Cache OVMobileBench cache directory
83+
- name: Cache Android SDK
8284
uses: actions/cache@v4
83-
id: android-cache
85+
id: android-sdk-cache
8486
with:
85-
path: ~/ovmb_cache
86-
key: ovmb-cache-${{ runner.os }}-${{ matrix.android-api }}-${{ matrix.arch }}-v3${{
87+
path: ~/ovmb_cache/android-sdk
88+
key: android-sdk-${{ runner.os }}-${{ matrix.android-api }}-${{ matrix.arch }}-v1${{
8789
github.event.inputs.clear_cache == 'true' && '-nocache' || '' }}
8890
restore-keys: |
89-
ovmb-cache-${{ runner.os }}-${{ matrix.android-api }}-
90-
ovmb-cache-${{ runner.os }}-
91+
android-sdk-${{ runner.os }}-${{ matrix.android-api }}-${{ matrix.arch }}-
92+
android-sdk-${{ runner.os }}-${{ matrix.android-api }}-
93+
android-sdk-${{ runner.os }}-
94+
95+
- name: Cache Models
96+
uses: actions/cache@v4
97+
id: models-cache
98+
with:
99+
path: ~/ovmb_cache/models
100+
key: models-${{ runner.os }}-${{ hashFiles('tests/e2e/test_model_helper.py') }}-v1
101+
restore-keys: |
102+
models-${{ runner.os }}-
103+
models-
91104
92105
- name: Setup Android SDK/NDK via OVMobileBench
93106
run: |
94107
# Check if cache was forced to be cleared
95108
if [ "${{ github.event.inputs.clear_cache }}" = "true" ]; then
96109
echo "🧹 Cache clearing was requested - installing from scratch"
97-
rm -rf $HOME/ovmb_cache ~/.android 2>/dev/null || true
110+
rm -rf $HOME/ovmb_cache/android-sdk 2>/dev/null || true
111+
rm -rf $HOME/ovmb_cache/models 2>/dev/null || true
98112
fi
99113
100-
# Setup Android SDK/NDK - OVMobileBench will use config to determine paths
101-
echo "🔧 Setting up Android SDK/NDK via OVMobileBench..."
102-
# OVMobileBench will read the config and use cache_dir/android-sdk automatically
103-
if [ "${{ steps.android-cache.outputs.cache-hit }}" != 'true' ] || \
104-
[ ! -d "$HOME/ovmb_cache/android-sdk" ]; then
105-
echo "📦 Cache miss or incomplete - Installing from scratch..."
106-
echo "This will take 5-10 minutes to download and install all components"
107-
# Full installation - config will determine SDK location
108-
python -m ovmobilebench.cli setup-android \
109-
--api ${{ matrix.android-api }} \
110-
--create-avd \
111-
--verbose
112-
else
113-
echo "⚡ Cache hit - Verifying existing installation via OVMobileBench..."
114-
# First try verification only
115-
if python -m ovmobilebench.cli setup-android \
116-
--api ${{ matrix.android-api }} \
117-
--verify-only \
118-
--verbose; then
119-
echo "✅ Verification passed - using cached installation"
120-
else
121-
echo "⚠️ Verification failed - reinstalling missing components..."
122-
python -m ovmobilebench.cli setup-android \
123-
--api ${{ matrix.android-api }} \
124-
--create-avd \
125-
--verbose
126-
fi
127-
fi
114+
python -m ovmobilebench.cli setup-android \
115+
-c experiments/android_example.yaml \
116+
--api ${{ matrix.android-api }} \
117+
--create-avd \
118+
--verbose
128119
129120
# Display cache stats
130121
echo "📊 Android SDK setup complete:"
@@ -133,34 +124,21 @@ jobs:
133124
# === PREPARE EMULATOR ===
134125
- name: Start Android Emulator
135126
run: |
136-
python tests/e2e/test_emulator_helper.py start-emulator &
137-
python tests/e2e/test_emulator_helper.py wait-for-boot
127+
python tests/e2e/test_emulator_helper.py -c experiments/android_example.yaml start-emulator &
128+
python tests/e2e/test_emulator_helper.py -c experiments/android_example.yaml wait-for-boot
138129
139-
# === CACHE SETUP ===
140-
- name: Cache ccache
141-
uses: actions/cache@v4
130+
- name: Setup ccache
131+
uses: hendrikmuhs/[email protected]
142132
with:
143-
path: ~/.ccache
144-
key: ccache-${{ runner.os }}-${{ matrix.arch }}-${{ hashFiles('tests/e2e/configs/android_resnet50.yaml') }}
145-
restore-keys: |
146-
ccache-${{ runner.os }}-${{ matrix.arch }}-
147-
ccache-${{ runner.os }}-
148-
149-
- name: Configure ccache
150-
run: |
151-
echo "Configuring ccache for cross-compilation..."
152-
ccache --max-size=2G
153-
ccache --set-config=compiler_check=content
154-
ccache --set-config=sloppiness=include_file_ctime,include_file_mtime,time_macros
155-
ccache --set-config=hash_dir=false
156-
ccache --zero-stats
157-
ccache --show-config
133+
key: ${{ runner.os }}-${{ matrix.arch }}-android
134+
create-symlink: true
135+
max-size: 2G
158136

159137
# Models are already in ovmb_cache, no separate cache needed
160138

161139
# === PREPARE MODEL ===
162140
- name: Download ResNet-50 model
163-
run: python tests/e2e/test_model_helper.py download-resnet50
141+
run: python tests/e2e/test_model_helper.py -c experiments/android_example.yaml download-resnet50
164142

165143
# === OVMOBILEBENCH PIPELINE ===
166144
- name: List available devices
@@ -169,43 +147,44 @@ jobs:
169147
- name: Build OpenVINO for Android
170148
run: |
171149
python -m ovmobilebench.cli build \
172-
-c tests/e2e/configs/android_resnet50.yaml \
150+
-c experiments/android_example.yaml \
173151
--verbose
174152
175-
# Show ccache statistics
153+
- name: Show ccache statistics
154+
run: |
176155
echo "📊 ccache statistics:"
177156
ccache --show-stats
178157
179158
- name: Package OpenVINO runtime and model
180159
run: |
181160
python -m ovmobilebench.cli package \
182-
-c tests/e2e/configs/android_resnet50.yaml \
161+
-c experiments/android_example.yaml \
183162
--verbose
184163
185164
- name: Deploy to Android device
186165
run: |
187166
python -m ovmobilebench.cli deploy \
188-
-c tests/e2e/configs/android_resnet50.yaml \
167+
-c experiments/android_example.yaml \
189168
--verbose
190169
191170
- name: Run benchmark on device
192171
run: |
193172
python -m ovmobilebench.cli run \
194-
-c tests/e2e/configs/android_resnet50.yaml \
173+
-c experiments/android_example.yaml \
195174
--verbose
196175
197176
- name: Generate benchmark report
198177
run: |
199178
python -m ovmobilebench.cli report \
200-
-c tests/e2e/configs/android_resnet50.yaml \
179+
-c experiments/android_example.yaml \
201180
--verbose
202181
203182
# === ALTERNATIVE: Run all stages at once ===
204183
- name: Run complete pipeline (alternative)
205184
if: false # Set to true to use this instead of individual stages
206185
run: |
207186
python -m ovmobilebench.cli all \
208-
-c tests/e2e/configs/android_resnet50.yaml \
187+
-c experiments/android_example.yaml \
209188
--verbose
210189
211190
# === VALIDATION ===
@@ -218,7 +197,7 @@ jobs:
218197
# === CLEANUP ===
219198
- name: Stop emulator
220199
if: always()
221-
run: python tests/e2e/test_emulator_helper.py stop-emulator
200+
run: python tests/e2e/test_emulator_helper.py -c experiments/android_example.yaml stop-emulator
222201

223202
- name: Upload artifacts
224203
if: always()

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,4 @@ artifacts
138138
junit.xml
139139

140140
*.DS_Store*
141+
valid_cache_dir

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ See [Configuration Reference](docs/configuration.md) for details.
6161
- 🔄 **CI/CD Ready** - GitHub Actions integration included
6262
- 📈 **Reproducible** - Full provenance tracking of builds and runs
6363
- 🤖 **Android SDK/NDK Installer** - Automated setup of Android development tools
64-
- 🔗 **Auto-Download** - Fetch latest OpenVINO builds for your platform
64+
- 🔗 **Auto-Clone & Build** - Automatically clones OpenVINO with submodules if not present
65+
- 📁 **Config-Based Paths** - All paths managed through YAML config, no environment variables needed
6566

6667
## 🔧 Supported Platforms
6768

0 commit comments

Comments
 (0)