Skip to content

Commit 4e56912

Browse files
authored
check evaluate
1 parent cfa6aea commit 4e56912

1 file changed

Lines changed: 65 additions & 22 deletions

File tree

.github/workflows/ci.yml

Lines changed: 65 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -224,19 +224,47 @@ jobs:
224224
slug: embedded-dev-research/ITLabAI
225225

226226
evaluate-model:
227-
runs-on: ubuntu-latest
228-
needs: [build-linux]
229-
permissions:
230-
contents: write
227+
runs-on: ubuntu-latest
228+
needs: [build-linux]
229+
permissions:
230+
contents: write
231231

232-
steps:
232+
steps:
233233
- uses: actions/checkout@v4
234234
with:
235235
fetch-depth: 0
236+
237+
- name: Download binary and libs
238+
uses: actions/download-artifact@v4
239+
with:
240+
name: mnist-RELEASE
241+
path: build/
242+
243+
- name: Verify downloaded artifacts
244+
run: |
245+
echo "### Verifying downloaded artifacts ###"
246+
echo "Current directory: $(pwd)"
247+
echo "Build directory contents:"
248+
ls -la build/ || echo "No build directory"
249+
echo "Looking for ACC binary:"
250+
find build/ -name "ACC" -type f 2>/dev/null || echo "ACC not found"
251+
echo "Checking bin directory:"
252+
ls -la build/bin/ 2>/dev/null || echo "No bin directory"
253+
236254
- name: Set binary path
237255
id: set_eval_binary
238256
run: |
239-
echo "EVAL_BINARY=build/bin/ACC" >> $GITHUB_OUTPUT
257+
# Проверяем существует ли бинарник
258+
if [ -f "build/bin/ACC" ]; then
259+
echo "ACC binary found at build/bin/ACC"
260+
echo "EVAL_BINARY=build/bin/ACC" >> $GITHUB_OUTPUT
261+
else
262+
echo "ERROR: ACC binary not found at build/bin/ACC"
263+
echo "Available files:"
264+
find build/ -type f -name "*" 2>/dev/null | head -20
265+
exit 1
266+
fi
267+
240268
- name: Install system dependencies
241269
run: |
242270
sudo apt-get update
@@ -248,9 +276,10 @@ jobs:
248276
libtiff-dev \
249277
libopenjp2-7
250278
sudo ldconfig
279+
251280
- name: Generate model JSON
252281
run: |
253-
cd docs && mkdir jsons
282+
cd docs && mkdir -p jsons
254283
cd ..
255284
cd app/Converters
256285
pip install -r requirements.txt
@@ -276,27 +305,37 @@ jobs:
276305
rm -rf main.zip MNIST_dataset-main
277306
echo "Downloaded $(ls docs/mnist/mnist/test | wc -l) images"
278307
279-
- name: Download binary and libs
280-
uses: actions/download-artifact@v4
281-
with:
282-
name: mnist-RELEASE
283-
path: build/
284-
285308
- name: Prepare environment
286309
run: |
310+
echo "### Preparing environment ###"
311+
echo "Binary path: ${{ steps.set_eval_binary.outputs.EVAL_BINARY }}"
312+
313+
ls -la "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}"
287314
chmod +x "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}"
288315
289316
export LD_LIBRARY_PATH=$PWD/build/bin/opencv_libs:/usr/lib/x86_64-linux-gnu
290317
echo "Final LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
291318
292319
- name: Verify library integrity
293320
run: |
294-
echo "### Library verification ###"
295-
file build/bin/opencv_libs/libopencv_imgcodecs.so.4.12.0 | grep "shared object"
321+
echo "### Library verification ###"
322+
ls -la build/bin/opencv_libs/ || echo "No opencv_libs directory"
323+
file build/bin/opencv_libs/libopencv_imgcodecs.so* 2>/dev/null | head -1 || echo "No opencv_imgcodecs library found"
324+
325+
- name: Test binary execution
326+
run: |
327+
echo "### Testing binary execution ###"
328+
export LD_LIBRARY_PATH=$PWD/build/bin/opencv_libs:/usr/lib/x86_64-linux-gnu
329+
330+
echo "Binary dependencies:"
331+
ldd "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" 2>/dev/null || echo "ldd failed"
332+
333+
echo "Testing help command:"
334+
timeout 10s "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" --help > /dev/null 2>&1 || echo "Help test completed"
296335
297336
- name: Run evaluation
298337
run: |
299-
echo "### Running evaluation ###"
338+
echo "### Running evaluation ###"
300339
export LD_LIBRARY_PATH=$PWD/build/bin/opencv_libs:/usr/lib/x86_64-linux-gnu
301340
echo "LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
302341
@@ -307,19 +346,23 @@ jobs:
307346
echo "Evaluation output:"
308347
cat accuracy.txt
309348
349+
- name: Extract accuracy value
350+
run: |
351+
echo "### Extracting accuracy ###"
352+
ACCURACY=$(grep -oE '[0-9]+\.?[0-9]*%' accuracy.txt | head -1 || echo "0%")
353+
echo "Accuracy: $ACCURACY"
354+
echo "$ACCURACY" > accuracy_value.txt
355+
310356
- name: Update README (master only)
311357
if: github.ref == 'refs/heads/master'
312358
run: |
313-
ACCURACY=$(cat accuracy.txt | sed 's/%//g')
359+
ACCURACY=$(cat accuracy_value.txt | sed 's/%//g')
314360
DATE=$(date '+%Y-%m-%d')
315361
316362
echo "Updating README with:"
317-
echo "Accuracy: $ACCURACY"
363+
echo "Accuracy: $ACCURACY%"
318364
echo "Date: $DATE"
319365

320-
echo "Current README content:"
321-
grep -A 2 -B 2 "ACCURACY_PLACEHOLDER" README.md || echo "Placeholder not found"
322-
323366
sed -i "s/<!--ACCURACY_PLACEHOLDER-->.*<!--END_ACCURACY-->/<!--ACCURACY_PLACEHOLDER-->Accuracy: ${ACCURACY}% (updated: ${DATE})<!--END_ACCURACY-->/" README.md
324367

325368
echo "Updated README content:"
@@ -336,7 +379,7 @@ jobs:
336379
if git diff-index --quiet HEAD --; then
337380
echo "No changes to commit"
338381
else
339-
git commit -m "[CI] Update accuracy: $(cat accuracy.txt)%"
382+
git commit -m "[CI] Update accuracy: $(cat accuracy_value.txt)"
340383
git push origin master
341384
echo "Changes pushed to master branch"
342385
fi

0 commit comments

Comments
 (0)