Skip to content

Commit 2c01fa1

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

File tree

1 file changed

+165
-7
lines changed

1 file changed

+165
-7
lines changed

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

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

0 commit comments

Comments
 (0)