Skip to content

Commit c553cd1

Browse files
authored
RISC-V: upgrade CI image to use clang 17 (#176)
* RISC-V: upgrade CI image to use clang 18 * RISC-V: more weekly builds * fixup! RISC-V: more weekly builds * fix new pipelines * another fix * skip unstable * skip some dnn tests
1 parent 1e075b0 commit c553cd1

5 files changed

+208
-6
lines changed

.github/workflows/OCV-Contrib-PR-4.x-RISCV.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
run:
3838
shell: bash
3939
container:
40-
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20230910
40+
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20240709
4141
volumes:
4242
- /mnt/cache/git_cache:/home/ci/git_cache
4343
- /mnt/cache/ci_cache/opencv:/home/ci/.ccache

.github/workflows/OCV-Contrib-PR-5.x-RISCV.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
run:
3737
shell: bash
3838
container:
39-
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20230910
39+
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20240709
4040
volumes:
4141
- /mnt/cache/git_cache:/home/ci/git_cache
4242
- /mnt/cache/ci_cache/opencv:/home/ci/.ccache

.github/workflows/OCV-Nightly-RISCV.yaml

+202
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ jobs:
186186
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
187187
${REMOTE_BIN}/opencv_test_video \
188188
--gtest_filter=*:-Video_RunningAvg.accuracy
189+
189190
BuildAndTest10:
190191
env:
191192
REMOTE_HOST: 'canmv1'
@@ -345,3 +346,204 @@ jobs:
345346
$TEST_RUNNER \
346347
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
347348
${REMOTE_BIN}/opencv_test_video ${TEST_OPT}
349+
350+
BuildAndTestNDS:
351+
env:
352+
BRANCH: '${{ matrix.branch }}'
353+
OPENCV_DOWNLOAD_PATH: '/home/ci/binaries_cache'
354+
OPENCV_TEST_DATA_PATH: '/home/ci/opencv_extra/testdata'
355+
TEST_RUNNER: '/opt/andes/bin/qemu-riscv64 -cpu andes-ax25 -L /opt/andes/sysroot'
356+
TEST_OPT: '--skip_unstable=1'
357+
strategy:
358+
max-parallel: 1
359+
matrix:
360+
branch: ['4.x', '5.x']
361+
runs-on: opencv-ru-lin-riscv
362+
defaults:
363+
run:
364+
shell: bash
365+
container:
366+
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-nds:20240709
367+
volumes:
368+
- /mnt/cache/git_cache:/home/ci/git_cache
369+
- /mnt/cache/ci_cache/opencv:/home/ci/.ccache
370+
- /mnt/cache/binaries_cache:/home/ci/binaries_cache
371+
- /home/build/.ssh:/root/.ssh
372+
steps:
373+
- name: Define proper HOME path
374+
timeout-minutes: 60
375+
run: echo "HOME=/home/ci" >> $GITHUB_ENV
376+
- name: Fetch opencv
377+
timeout-minutes: 60
378+
run: |
379+
rm -rf ${{ env.SRC_OPENCV }}
380+
git clone \
381+
--single-branch \
382+
--branch ${{ env.BRANCH }} \
383+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv.git \
384+
https://github.com/opencv/opencv.git \
385+
${{ env.SRC_OPENCV }}
386+
- name: Fetch opencv_contrib
387+
timeout-minutes: 60
388+
run: |
389+
rm -rf ${{ env.SRC_OPENCV_CONTRIB }}
390+
git clone \
391+
--single-branch \
392+
--branch ${{ env.BRANCH }} \
393+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv_contrib.git \
394+
https://github.com/opencv/opencv_contrib.git \
395+
${{ env.SRC_OPENCV_CONTRIB }}
396+
- name: Fetch opencv_extra
397+
timeout-minutes: 60
398+
run: |
399+
rm -rf ${{ env.SRC_OPENCV_EXTRA }}
400+
git clone \
401+
--single-branch \
402+
--branch ${{ env.BRANCH }} \
403+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv_extra.git \
404+
https://github.com/opencv/opencv_extra.git \
405+
${{ env.SRC_OPENCV_EXTRA }}
406+
- name: Configure OpenCV
407+
timeout-minutes: 60
408+
run: |
409+
cmake -G Ninja \
410+
-S ${{ env.SRC_OPENCV }} \
411+
-B ${{ env.BUILD_DIR }} \
412+
-DCMAKE_TOOLCHAIN_FILE=$HOME/opencv/platforms/linux/riscv64-andes-gcc.toolchain.cmake \
413+
-DRISCV_GCC_INSTALL_ROOT=/opt/andes \
414+
-DWITH_NDSRVP=ON \
415+
-DBUILD_SHARED_LIBS=OFF \
416+
-DWITH_OPENCL=OFF \
417+
-DOPENCV_EXTRA_MODULES_PATH=${{ env.SRC_OPENCV_CONTRIB }}/modules \
418+
-DCMAKE_INSTALL_PREFIX=${{ env.BUILD_DIR }}/install
419+
- name: Build OpenCV
420+
timeout-minutes: 60
421+
id: build
422+
run: |
423+
ninja -C ${{ env.BUILD_DIR }} install | tee ${{ env.BUILD_DIR }}/build-log.txt
424+
- name: Run core test
425+
timeout-minutes: 60
426+
if: ${{ always() && steps.build.outcome == 'success' }}
427+
run: |
428+
cd $HOME/build
429+
$TEST_RUNNER bin/opencv_test_core \
430+
$TEST_OPT \
431+
--gtest_filter=*
432+
- name: Run imgproc test
433+
timeout-minutes: 60
434+
if: ${{ always() && steps.build.outcome == 'success' }}
435+
run: |
436+
cd $HOME/build
437+
$TEST_RUNNER bin/opencv_test_imgproc \
438+
$TEST_OPT \
439+
--gtest_filter=*:-Imgproc_Hist_Compare.accuracy
440+
- name: Run dnn test
441+
timeout-minutes: 60
442+
if: ${{ always() && steps.build.outcome == 'success' }}
443+
run: |
444+
cd $HOME/build
445+
$TEST_RUNNER bin/opencv_test_dnn \
446+
$TEST_OPT \
447+
--gtest_filter=*
448+
449+
BuildAndTestSC:
450+
env:
451+
BRANCH: '${{ matrix.branch }}'
452+
OPENCV_DOWNLOAD_PATH: '/home/ci/binaries_cache'
453+
OPENCV_TEST_DATA_PATH: '/home/ci/opencv_extra/testdata'
454+
TEST_RUNNER: '/opt/sc-dt/tools/bin/qemu-riscv64 -cpu rv64,v=true,vext_spec=v1.0 -L /opt/sc-dt/riscv-gcc/sysroot'
455+
TEST_OPT: '--skip_unstable=1'
456+
strategy:
457+
max-parallel: 1
458+
matrix:
459+
branch: ['4.x', '5.x']
460+
runs-on: opencv-ru-lin-riscv
461+
defaults:
462+
run:
463+
shell: bash
464+
container:
465+
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-sc:20240709
466+
volumes:
467+
- /mnt/cache/git_cache:/home/ci/git_cache
468+
- /mnt/cache/ci_cache/opencv:/home/ci/.ccache
469+
- /mnt/cache/binaries_cache:/home/ci/binaries_cache
470+
- /home/build/.ssh:/root/.ssh
471+
steps:
472+
- name: Define proper HOME path
473+
timeout-minutes: 60
474+
run: echo "HOME=/home/ci" >> $GITHUB_ENV
475+
- name: Fetch opencv
476+
timeout-minutes: 60
477+
run: |
478+
rm -rf ${{ env.SRC_OPENCV }}
479+
git clone \
480+
--single-branch \
481+
--branch ${{ env.BRANCH }} \
482+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv.git \
483+
https://github.com/opencv/opencv.git \
484+
${{ env.SRC_OPENCV }}
485+
- name: Fetch opencv_contrib
486+
timeout-minutes: 60
487+
run: |
488+
rm -rf ${{ env.SRC_OPENCV_CONTRIB }}
489+
git clone \
490+
--single-branch \
491+
--branch ${{ env.BRANCH }} \
492+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv_contrib.git \
493+
https://github.com/opencv/opencv_contrib.git \
494+
${{ env.SRC_OPENCV_CONTRIB }}
495+
- name: Fetch opencv_extra
496+
timeout-minutes: 60
497+
run: |
498+
rm -rf ${{ env.SRC_OPENCV_EXTRA }}
499+
git clone \
500+
--single-branch \
501+
--branch ${{ env.BRANCH }} \
502+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv_extra.git \
503+
https://github.com/opencv/opencv_extra.git \
504+
${{ env.SRC_OPENCV_EXTRA }}
505+
- name: Configure OpenCV
506+
timeout-minutes: 60
507+
run: |
508+
cmake -G Ninja \
509+
-S ${{ env.SRC_OPENCV }} \
510+
-B ${{ env.BUILD_DIR }} \
511+
-DCMAKE_TOOLCHAIN_FILE=$HOME/opencv/platforms/linux/riscv64-clang.toolchain.cmake \
512+
-DRISCV_CLANG_BUILD_ROOT=/opt/sc-dt/llvm \
513+
-DRISCV_GCC_INSTALL_ROOT=/opt/sc-dt/riscv-gcc \
514+
-DCPU_BASELINE=RVV \
515+
-DCPU_BASELINE_REQUIRE=RVV \
516+
-DRISCV_RVV_SCALABLE=ON \
517+
-DBUILD_SHARED_LIBS=OFF \
518+
-DWITH_OPENCL=OFF \
519+
-DOPENCV_EXTRA_MODULES_PATH=${{ env.SRC_OPENCV_CONTRIB }}/modules \
520+
-DCMAKE_INSTALL_PREFIX=${{ env.BUILD_DIR }}/install
521+
- name: Build OpenCV
522+
timeout-minutes: 60
523+
id: build
524+
run: |
525+
ninja -C ${{ env.BUILD_DIR }} install | tee ${{ env.BUILD_DIR }}/build-log.txt
526+
- name: Run core test
527+
timeout-minutes: 60
528+
if: ${{ always() && steps.build.outcome == 'success' }}
529+
run: |
530+
cd $HOME/build
531+
$TEST_RUNNER bin/opencv_test_core \
532+
$TEST_OPT \
533+
--gtest_filter=*
534+
- name: Run imgproc test
535+
timeout-minutes: 60
536+
if: ${{ always() && steps.build.outcome == 'success' }}
537+
run: |
538+
cd $HOME/build
539+
$TEST_RUNNER bin/opencv_test_imgproc \
540+
$TEST_OPT \
541+
--gtest_filter=*:-Imgproc_Hist_Compare.accuracy
542+
- name: Run dnn test
543+
timeout-minutes: 60
544+
if: ${{ always() && steps.build.outcome == 'success' }}
545+
run: |
546+
cd $HOME/build
547+
$TEST_RUNNER bin/opencv_test_dnn \
548+
$TEST_OPT \
549+
--gtest_filter=*:-Test_ONNX_layers.*:Test_ONNX_conformance.*:Test_Int8_layers.InnerProduct/0

.github/workflows/OCV-PR-4.x-RISCV.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
run:
3737
shell: bash
3838
container:
39-
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20230910
39+
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20240709
4040
volumes:
4141
- /mnt/cache/git_cache:/home/ci/git_cache
4242
- /mnt/cache/ci_cache/opencv:/home/ci/.ccache
@@ -151,7 +151,7 @@ jobs:
151151
run:
152152
shell: bash
153153
container:
154-
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20230910
154+
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20240709
155155
volumes:
156156
- /mnt/cache/git_cache:/home/ci/git_cache
157157
- /mnt/cache/ci_cache/opencv:/home/ci/.ccache

.github/workflows/OCV-PR-5.x-RISCV.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
run:
3737
shell: bash
3838
container:
39-
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20230910
39+
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20240709
4040
volumes:
4141
- /mnt/cache/git_cache:/home/ci/git_cache
4242
- /mnt/cache/ci_cache/opencv:/home/ci/.ccache
@@ -151,7 +151,7 @@ jobs:
151151
run:
152152
shell: bash
153153
container:
154-
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20230910
154+
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20240709
155155
volumes:
156156
- /mnt/cache/git_cache:/home/ci/git_cache
157157
- /mnt/cache/ci_cache/opencv:/home/ci/.ccache

0 commit comments

Comments
 (0)