Skip to content

Commit 24a4934

Browse files
authored
clean
1 parent c6ac48e commit 24a4934

1 file changed

Lines changed: 11 additions & 109 deletions

File tree

.github/workflows/ci.yml

Lines changed: 11 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,18 @@ jobs:
5151
cmake --build build --parallel
5252
env:
5353
CTEST_OUTPUT_ON_FAILURE: 1
54-
- name: Prepare OpenCV libs
54+
- name: Prepare ALL libs
5555
run: |
56-
mkdir -p build/bin/opencv_libs
57-
cp -a build/3rdparty/opencv_build/lib/libopencv_* build/bin/opencv_libs/
58-
echo "Library permissions after copy:"
59-
stat -c "%A %n" build/bin/opencv_libs/libopencv_imgcodecs.so*
60-
56+
mkdir -p build/bin/all_libs
57+
cp -a build/3rdparty/opencv_build/lib/* build/bin/all_libs/ 2>/dev/null || true
58+
ldd build/bin/ACC | grep "=> /" | awk '{print $3}' | xargs -I {} cp {} build/bin/all_libs/ 2>/dev/null || true
6159
- name: Upload artifacts
6260
uses: actions/upload-artifact@v4
6361
with:
6462
name: mnist-${{ matrix.build_type }}${{ matrix.stats && '-stats' || '' }}
6563
path: |
6664
${{ steps.set_binaries.outputs.ACC_BINARY }}
65+
build/bin/all_libs/*
6766
build/bin/opencv_libs/*
6867
build/setenv.sh
6968
- name: Test
@@ -251,41 +250,15 @@ jobs:
251250
name: mnist-RELEASE
252251
path: build/
253252

254-
- name: Verify downloaded artifacts
255-
run: |
256-
echo "### Verifying downloaded artifacts ###"
257-
echo "Current directory: $(pwd)"
258-
echo "Build directory contents:"
259-
ls -la build/ || echo "No build directory"
260-
echo "Looking for ACC binary:"
261-
find build/ -name "ACC" -type f 2>/dev/null || echo "ACC not found"
262-
echo "Checking bin directory:"
263-
ls -la build/bin/ 2>/dev/null || echo "No bin directory"
264-
265253
- name: Set binary path
266254
id: set_eval_binary
267255
run: |
268-
if [ -f "build/bin/ACC" ]; then
269-
echo "ACC binary found at build/bin/ACC"
270-
echo "EVAL_BINARY=build/bin/ACC" >> $GITHUB_OUTPUT
271-
else
272-
echo "ERROR: ACC binary not found at build/bin/ACC"
273-
echo "Available files:"
274-
find build/ -type f -name "*" 2>/dev/null | head -20
275-
exit 1
276-
fi
256+
echo "EVAL_BINARY=build/bin/ACC" >> $GITHUB_OUTPUT
277257
278258
- name: Install system dependencies
279259
run: |
280260
sudo apt-get update
281-
sudo apt-get install -y \
282-
libgtk-3-0 \
283-
libtbb12 \
284-
libjpeg-dev \
285-
libpng-dev \
286-
libtiff-dev \
287-
libopenjp2-7 \
288-
libdnnl3
261+
sudo apt-get install -y libgtk-3-0 libtbb12 libjpeg-dev libpng-dev libtiff-dev libopenjp2-7 libdnnl3
289262
sudo ldconfig
290263
291264
- name: Generate model JSON
@@ -307,117 +280,46 @@ jobs:
307280
- name: Download MNIST test dataset
308281
if: steps.cache-mnist.outputs.cache-hit != 'true'
309282
run: |
310-
set -e
311283
mkdir -p docs/mnist/mnist/test
312-
echo "Downloading test images..."
313284
wget -q https://github.com/DeepTrackAI/MNIST_dataset/archive/main.zip -O main.zip
314285
unzip -q main.zip
315286
cp MNIST_dataset-main/mnist/test/*.png docs/mnist/mnist/test/
316287
rm -rf main.zip MNIST_dataset-main
317-
echo "Downloaded $(ls docs/mnist/mnist/test | wc -l) images"
318288
319289
- name: Prepare environment
320290
run: |
321-
echo "### Preparing environment ###"
322-
echo "Binary path: ${{ steps.set_eval_binary.outputs.EVAL_BINARY }}"
323-
324-
ls -la "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}"
325291
chmod +x "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}"
292+
export LD_LIBRARY_PATH=$PWD/build/bin/all_libs:/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
326293
327-
export LD_LIBRARY_PATH=$PWD/build/bin/opencv_libs:/usr/lib/x86_64-linux-gnu
328-
echo "Final LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
329-
330-
- name: Verify library integrity
331-
run: |
332-
echo "### Library verification ###"
333-
ls -la build/bin/opencv_libs/ || echo "No opencv_libs directory"
334-
file build/bin/opencv_libs/libopencv_imgcodecs.so* 2>/dev/null | head -1 || echo "No opencv_imgcodecs library found"
335-
336-
- name: Test binary execution
337-
run: |
338-
echo "### Testing binary execution ###"
339-
export LD_LIBRARY_PATH=$PWD/build/bin/opencv_libs:/usr/lib/x86_64-linux-gnu
340-
341-
echo "Binary dependencies:"
342-
ldd "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" 2>/dev/null || echo "ldd failed"
343-
344-
echo "Testing help command:"
345-
timeout 10s "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" --help > /dev/null 2>&1 || echo "Help test completed"
346-
347294
- name: Run evaluation
348295
run: |
349-
echo "### Running evaluation ###"
350-
export LD_LIBRARY_PATH=$PWD/build/bin/opencv_libs:/usr/lib/x86_64-linux-gnu
351-
echo "LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
352-
353-
echo "### Checking binary execution permissions ###"
354-
ls -la "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}"
355-
file "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}"
356-
357-
echo "### Testing direct execution ###"
358-
set +e
359-
"${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" --version > version_output.txt 2>&1
360-
VERSION_EXIT_CODE=$?
361-
echo "Version command exit code: $VERSION_EXIT_CODE"
362-
cat version_output.txt
363-
364-
"${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" --help > help_output.txt 2>&1
365-
HELP_EXIT_CODE=$?
366-
echo "Help command exit code: $HELP_EXIT_CODE"
367-
cat help_output.txt
368-
369-
echo "### Running MNIST evaluation ###"
370-
mkdir -p docs/mnist/mnist/test
371-
296+
export LD_LIBRARY_PATH=$PWD/build/bin/all_libs:/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
372297
"${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" --model alexnet_mnist > accuracy.txt 2>&1
373-
EVAL_EXIT_CODE=$?
374-
echo "Evaluation exit code: $EVAL_EXIT_CODE"
375-
376-
if [ $EVAL_EXIT_CODE -ne 0 ]; then
377-
echo "Trying without --model parameter..."
378-
"${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" > accuracy.txt 2>&1
379-
EVAL_EXIT_CODE=$?
380-
echo "Fallback evaluation exit code: $EVAL_EXIT_CODE"
298+
if [ $? -ne 0 ]; then
299+
exit 1
381300
fi
382-
383-
echo "### Evaluation output ###"
384-
cat accuracy.txt
385-
set -e
386301
387302
- name: Extract accuracy value
388303
run: |
389-
echo "### Extracting accuracy ###"
390304
ACCURACY=$(grep -oE '[0-9]+\.?[0-9]*%' accuracy.txt | head -1 || echo "0%")
391-
echo "Accuracy: $ACCURACY"
392305
echo "$ACCURACY" > accuracy_value.txt
393306
394307
- name: Update README (master only)
395308
if: github.ref == 'refs/heads/master'
396309
run: |
397310
ACCURACY=$(cat accuracy_value.txt | sed 's/%//g')
398311
DATE=$(date '+%Y-%m-%d')
399-
400-
echo "Updating README with:"
401-
echo "Accuracy: $ACCURACY%"
402-
echo "Date: $DATE"
403-
404312
sed -i "s/<!--ACCURACY_PLACEHOLDER-->.*<!--END_ACCURACY-->/<!--ACCURACY_PLACEHOLDER-->Accuracy: ${ACCURACY}% (updated: ${DATE})<!--END_ACCURACY-->/" README.md
405-
406-
echo "Updated README content:"
407-
grep -A 2 -B 2 "ACCURACY_PLACEHOLDER" README.md
408313
409314
- name: Commit and push changes (master only)
410315
if: github.ref == 'refs/heads/master'
411316
run: |
412317
git config --global user.name "GitHub Actions"
413318
git config --global user.email "actions@github.com"
414-
415319
git add README.md
416-
417320
if git diff-index --quiet HEAD --; then
418321
echo "No changes to commit"
419322
else
420323
git commit -m "[CI] Update accuracy: $(cat accuracy_value.txt)"
421324
git push origin master
422-
echo "Changes pushed to master branch"
423325
fi

0 commit comments

Comments
 (0)