Skip to content

Commit dd4ad4e

Browse files
committed
RISC-V: added RVV 1.0 weekly build
1 parent 24ce29b commit dd4ad4e

File tree

1 file changed

+166
-7
lines changed

1 file changed

+166
-7
lines changed

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

+166-7
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@ env:
2323
GIT_CACHE_DOCKER: '/home/ci/git_cache'
2424
OPENCV_DOWNLOAD_PATH: '/home/ci/binaries_cache'
2525
OPENCV_TEST_DATA_PATH: '/home/ci/opencv_extra/testdata'
26-
REMOTE_HOST: 'lichee1'
27-
REMOTE_BIN: './bin'
28-
REMOTE_DATA: './testdata'
29-
TEST_RUNNER: 'ssh lichee1'
3026

3127

3228
jobs:
33-
BuildAndTest:
29+
BuildAndTest07:
30+
env:
31+
REMOTE_HOST: 'lichee1'
32+
REMOTE_BIN: './bin'
33+
REMOTE_DATA: './testdata'
34+
TEST_RUNNER: 'ssh lichee1'
35+
BRANCH: '${{ matrix.branch }}'
3436
strategy:
3537
max-parallel: 1
3638
matrix:
@@ -39,8 +41,6 @@ jobs:
3941
defaults:
4042
run:
4143
shell: bash
42-
env:
43-
BRANCH: '${{ matrix.branch }}'
4444
container:
4545
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-071:20240117
4646
volumes:
@@ -186,3 +186,162 @@ jobs:
186186
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
187187
${REMOTE_BIN}/opencv_test_video \
188188
--gtest_filter=*:-Video_RunningAvg.accuracy
189+
BuildAndTest10:
190+
env:
191+
REMOTE_HOST: 'canmv1'
192+
REMOTE_BIN: './bin'
193+
REMOTE_DATA: './testdata'
194+
TEST_RUNNER: 'ssh canmv1'
195+
TEST_OPT: '--test_tag_skip=mem_512mb'
196+
BRANCH: '${{ matrix.branch }}'
197+
strategy:
198+
max-parallel: 1
199+
matrix:
200+
branch: ['4.x', '5.x']
201+
runs-on: opencv-ru-lin-riscv
202+
defaults:
203+
run:
204+
shell: bash
205+
container:
206+
image: quay.io/opencv-ci/opencv-ubuntu-22.04-riscv-main:20240329
207+
volumes:
208+
- /mnt/cache/git_cache:/home/ci/git_cache
209+
- /mnt/cache/ci_cache/opencv:/home/ci/.ccache
210+
- /mnt/cache/binaries_cache:/home/ci/binaries_cache
211+
- /home/build/.ssh:/root/.ssh
212+
steps:
213+
- name: Define proper HOME path
214+
timeout-minutes: 60
215+
run: echo "HOME=/home/ci" >> $GITHUB_ENV
216+
- name: Fetch opencv
217+
timeout-minutes: 60
218+
run: |
219+
rm -rf ${{ env.SRC_OPENCV }}
220+
git clone \
221+
--single-branch \
222+
--branch ${{ env.BRANCH }} \
223+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv.git \
224+
https://github.com/opencv/opencv.git \
225+
${{ env.SRC_OPENCV }}
226+
- name: Fetch opencv_contrib
227+
timeout-minutes: 60
228+
run: |
229+
rm -rf ${{ env.SRC_OPENCV_CONTRIB }}
230+
git clone \
231+
--single-branch \
232+
--branch ${{ env.BRANCH }} \
233+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv_contrib.git \
234+
https://github.com/opencv/opencv_contrib.git \
235+
${{ env.SRC_OPENCV_CONTRIB }}
236+
- name: Fetch opencv_extra
237+
timeout-minutes: 60
238+
run: |
239+
rm -rf ${{ env.SRC_OPENCV_EXTRA }}
240+
git clone \
241+
--single-branch \
242+
--branch ${{ env.BRANCH }} \
243+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv_extra.git \
244+
https://github.com/opencv/opencv_extra.git \
245+
${{ env.SRC_OPENCV_EXTRA }}
246+
- name: Configure OpenCV
247+
timeout-minutes: 60
248+
run: |
249+
cmake -G Ninja \
250+
-S ${{ env.SRC_OPENCV }} \
251+
-B ${{ env.BUILD_DIR }} \
252+
-DCMAKE_TOOLCHAIN_FILE=$HOME/opencv/platforms/linux/riscv64-clang.toolchain.cmake \
253+
-DCPU_BASELINE=RVV \
254+
-DCPU_BASELINE_REQUIRE=RVV \
255+
-DRISCV_RVV_SCALABLE=ON \
256+
-DBUILD_SHARED_LIBS=OFF \
257+
-DWITH_OPENCL=OFF \
258+
-DOPENCV_EXTRA_MODULES_PATH=${{ env.SRC_OPENCV_CONTRIB }}/modules \
259+
-DCMAKE_INSTALL_PREFIX=${{ env.BUILD_DIR }}/install
260+
- name: Build OpenCV
261+
timeout-minutes: 60
262+
id: build
263+
run: |
264+
ninja -C ${{ env.BUILD_DIR }} install | tee ${{ env.BUILD_DIR }}/build-log.txt
265+
- name: Deploy to remote host
266+
timeout-minutes: 60
267+
id: deploy
268+
run: |
269+
rsync -az --stats ${{ env.BUILD_DIR }}/bin/ ${REMOTE_HOST}:${REMOTE_BIN} --delete
270+
rsync -az --stats ${{ env.SRC_OPENCV_EXTRA }}/testdata/ ${REMOTE_HOST}:${REMOTE_DATA} --delete
271+
- name: Run core test
272+
timeout-minutes: 60
273+
if: ${{ always() && steps.build.outcome == 'success' && steps.deploy.outcome == 'success' }}
274+
run: |
275+
$TEST_RUNNER \
276+
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
277+
${REMOTE_BIN}/opencv_test_core ${TEST_OPT} --gtest_filter=*:-Samples.findFile
278+
- name: Run imgproc test
279+
timeout-minutes: 60
280+
if: ${{ always() && steps.build.outcome == 'success' && steps.deploy.outcome == 'success' }}
281+
run: |
282+
$TEST_RUNNER \
283+
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
284+
${REMOTE_BIN}/opencv_test_imgproc ${TEST_OPT} --gtest_filter=*:-Imgproc_Hist_Compare.accuracy
285+
- name: Run calib3d test
286+
timeout-minutes: 60
287+
if: ${{ always() && matrix.branch == '4.x' && steps.build.outcome == 'success' && steps.deploy.outcome == 'success' }}
288+
run: |
289+
$TEST_RUNNER \
290+
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
291+
${REMOTE_BIN}/opencv_test_calib3d ${TEST_OPT}
292+
- name: Run 3d test
293+
timeout-minutes: 60
294+
if: ${{ always() && matrix.branch == '5.x' && steps.build.outcome == 'success' && steps.deploy.outcome == 'success' }}
295+
run: |
296+
$TEST_RUNNER \
297+
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
298+
${REMOTE_BIN}/opencv_test_3d ${TEST_OPT}
299+
- name: Run calib test
300+
timeout-minutes: 60
301+
if: ${{ always() && matrix.branch == '5.x' && steps.build.outcome == 'success' && steps.deploy.outcome == 'success' }}
302+
run: |
303+
$TEST_RUNNER \
304+
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
305+
${REMOTE_BIN}/opencv_test_calib ${TEST_OPT}
306+
- name: Run dnn test
307+
timeout-minutes: 60
308+
if: ${{ always() && steps.build.outcome == 'success' && steps.deploy.outcome == 'success' }}
309+
run: |
310+
$TEST_RUNNER \
311+
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
312+
${REMOTE_BIN}/opencv_test_dnn ${TEST_OPT}
313+
- name: Run features2d test
314+
timeout-minutes: 60
315+
if: ${{ always() && steps.build.outcome == 'success' && steps.deploy.outcome == 'success' }}
316+
run: |
317+
$TEST_RUNNER \
318+
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
319+
${REMOTE_BIN}/opencv_test_features2d ${TEST_OPT} --gtest_filter=*:-KAZE/DetectorScaleInvariance.scale/*
320+
- name: Run objdetect test
321+
timeout-minutes: 60
322+
if: ${{ always() && steps.build.outcome == 'success' && steps.deploy.outcome == 'success' }}
323+
run: |
324+
$TEST_RUNNER \
325+
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
326+
${REMOTE_BIN}/opencv_test_objdetect ${TEST_OPT}
327+
- name: Run photo test
328+
timeout-minutes: 60
329+
if: ${{ always() && steps.build.outcome == 'success' && steps.deploy.outcome == 'success' }}
330+
run: |
331+
$TEST_RUNNER \
332+
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
333+
${REMOTE_BIN}/opencv_test_photo ${TEST_OPT}
334+
- name: Run stitching test
335+
timeout-minutes: 60
336+
if: ${{ always() && steps.build.outcome == 'success' && steps.deploy.outcome == 'success' }}
337+
run: |
338+
$TEST_RUNNER \
339+
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
340+
${REMOTE_BIN}/opencv_test_stitching ${TEST_OPT}
341+
- name: Run video test
342+
timeout-minutes: 60
343+
if: ${{ always() && steps.build.outcome == 'success' && steps.deploy.outcome == 'success' }}
344+
run: |
345+
$TEST_RUNNER \
346+
OPENCV_TEST_DATA_PATH=${REMOTE_DATA} \
347+
${REMOTE_BIN}/opencv_test_video ${TEST_OPT}

0 commit comments

Comments
 (0)