Skip to content

Commit 6e5fb11

Browse files
committed
Added nightly ubuntu 24 debug build and test
1 parent 36bb9ce commit 6e5fb11

File tree

1 file changed

+242
-0
lines changed

1 file changed

+242
-0
lines changed
+242
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
name: OCV Nightly U24 DBG
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
paths:
8+
- '.github/workflows/OCV-Nightly-U24-DBG.yaml'
9+
workflow_dispatch:
10+
schedule:
11+
- cron: '0 4 * * *'
12+
13+
14+
concurrency:
15+
group: OCV-Nightly-U24-DBG-${{ github.ref }}
16+
cancel-in-progress: true
17+
18+
env:
19+
SRC_OPENCV: '/home/ubuntu/opencv'
20+
SRC_OPENCV_CONTRIB: '/home/ubuntu/opencv_contrib'
21+
SRC_OPENCV_EXTRA: '/home/ubuntu/opencv_extra'
22+
BUILD_DIR: '/home/ubuntu/build'
23+
CCACHE_DIR: '/home/ubuntu/.ccache'
24+
GIT_CACHE_DOCKER: '/home/ubuntu/git_cache'
25+
OPENCV_DOWNLOAD_PATH: '/home/ubuntu/binaries_cache'
26+
OPENCV_TEST_DATA_PATH: '/home/ubuntu/opencv_extra/testdata'
27+
EXTRA_CMAKE_OPTIONS: '-DCMAKE_BUILD_TYPE=Debug -DWITH_IPP=OFF -DCPU_DISPATCH= -DCV_DISABLE_OPTIMIZATION=ON'
28+
PARALLEL_JOBS: 4
29+
EXTRA_TEST_OPT: '--skip_unstable=1 --test_threads=4'
30+
EXTRA_PERF_OPT: '--perf_impl=plain --perf_min_samples=1 --perf_force_samples=1 --perf_verify_sanity --skip_unstable=1 --perf_threads=4'
31+
OPENCV_BUFFER_AREA_ALWAYS_SAFE: '1'
32+
33+
jobs:
34+
BuildAndTest:
35+
env:
36+
TEST_RUNNER: 'xvfb-run -a'
37+
BRANCH: '${{ matrix.branch }}'
38+
MOD_FEATURES: "${{ matrix.branch == '4.x' && 'features2d' || 'features' }}"
39+
strategy:
40+
max-parallel: 1
41+
matrix:
42+
branch: ['4.x', '5.x']
43+
runs-on: opencv-cn-lin-x86-64
44+
defaults:
45+
run:
46+
shell: bash
47+
working-directory: '/home/ubuntu/build'
48+
container:
49+
image: quay.io/opencv-ci/opencv-ubuntu-24.04:20241031
50+
volumes:
51+
- /home/opencv-cn/git_cache:/home/ubuntu/git_cache
52+
- /home/opencv-cn/ci_cache/opencv:/home/ubuntu/.ccache
53+
- /home/opencv-cn/binaries_cache:/home/ubuntu/binaries_cache
54+
steps:
55+
- name: Define proper HOME path
56+
timeout-minutes: 60
57+
run: echo "HOME=/home/ubuntu" >> $GITHUB_ENV
58+
- name: Fetch opencv
59+
timeout-minutes: 60
60+
run: |
61+
rm -rf ${{ env.SRC_OPENCV }}
62+
git clone \
63+
--single-branch \
64+
--branch ${{ env.BRANCH }} \
65+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv.git \
66+
https://github.com/opencv/opencv.git \
67+
${{ env.SRC_OPENCV }}
68+
- name: Fetch opencv_contrib
69+
timeout-minutes: 60
70+
run: |
71+
rm -rf ${{ env.SRC_OPENCV_CONTRIB }}
72+
git clone \
73+
--single-branch \
74+
--branch ${{ env.BRANCH }} \
75+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv_contrib.git \
76+
https://github.com/opencv/opencv_contrib.git \
77+
${{ env.SRC_OPENCV_CONTRIB }}
78+
- name: Fetch opencv_extra
79+
timeout-minutes: 60
80+
run: |
81+
rm -rf ${{ env.SRC_OPENCV_EXTRA }}
82+
git clone \
83+
--single-branch \
84+
--branch ${{ env.BRANCH }} \
85+
--reference-if-able ${{ env.GIT_CACHE_DOCKER }}/opencv_extra.git \
86+
https://github.com/opencv/opencv_extra.git \
87+
${{ env.SRC_OPENCV_EXTRA }}
88+
89+
- name: Configure OpenCV
90+
timeout-minutes: 60
91+
run: |
92+
cmake -G Ninja \
93+
-S ${{ env.SRC_OPENCV }} \
94+
-B ${{ env.BUILD_DIR }} \
95+
${{ env.EXTRA_CMAKE_OPTIONS }} \
96+
-DOPENCV_EXTRA_MODULES_PATH=${{ env.SRC_OPENCV_CONTRIB }}/modules \
97+
-DCMAKE_INSTALL_PREFIX=${{ env.BUILD_DIR }}/install
98+
- name: Build OpenCV
99+
timeout-minutes: 60
100+
id: build
101+
run: |
102+
ninja -C ${{ env.BUILD_DIR }} install | tee ${{ env.BUILD_DIR }}/build-log.txt
103+
- name: Warnings check
104+
timeout-minutes: 60
105+
run: python3 ${HOME}/scripts/warnings-handling.py
106+
- name: Accuracy:3d
107+
timeout-minutes: 60
108+
if: ${{ always() && matrix.branch == '5.x' && steps.build.outcome == 'success' }}
109+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_3d ${{ env.EXTRA_TEST_OPT }}
110+
- name: Accuracy:calib
111+
timeout-minutes: 60
112+
if: ${{ always() && matrix.branch == '5.x' && steps.build.outcome == 'success' }}
113+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_calib ${{ env.EXTRA_TEST_OPT }}
114+
- name: Accuracy:calib3d
115+
timeout-minutes: 60
116+
if: ${{ always() && matrix.branch == '4.x' && steps.build.outcome == 'success' }}
117+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_calib3d ${{ env.EXTRA_TEST_OPT }}
118+
- name: Accuracy:core
119+
timeout-minutes: 60
120+
if: ${{ always() && steps.build.outcome == 'success' }}
121+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_core ${{ env.EXTRA_TEST_OPT }}
122+
- name: Accuracy:DNN_AUTO
123+
timeout-minutes: 60
124+
if: ${{ always() && steps.build.outcome == 'success' }}
125+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_dnn ${{ env.EXTRA_TEST_OPT }}
126+
- name: Accuracy:DNN_Classic
127+
timeout-minutes: 60
128+
if: ${{ always() && steps.build.outcome == 'success' }}
129+
env:
130+
OPENCV_FORCE_DNN_ENGINE: '1'
131+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_dnn ${{ env.EXTRA_TEST_OPT }}
132+
- name: Accuracy:features
133+
timeout-minutes: 60
134+
if: ${{ always() && steps.build.outcome == 'success' }}
135+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_${MOD_FEATURES} ${{ env.EXTRA_TEST_OPT }}
136+
- name: Accuracy:flann
137+
timeout-minutes: 60
138+
if: ${{ always() && steps.build.outcome == 'success' }}
139+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_flann ${{ env.EXTRA_TEST_OPT }}
140+
- name: Accuracy:gapi
141+
timeout-minutes: 60
142+
if: ${{ always() && matrix.branch == '4.x' && steps.build.outcome == 'success' }}
143+
# G-API bug with GCC 11+: https://github.com/opencv/opencv/issues/19678
144+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_gapi ${{ env.EXTRA_TEST_OPT }} --gtest_filter='*:-AsyncAPICancelation/cancel/*:Camera*'
145+
- name: Accuracy:highgui
146+
timeout-minutes: 60
147+
if: ${{ always() && steps.build.outcome == 'success' }}
148+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_highgui ${{ env.EXTRA_TEST_OPT }}
149+
- name: Accuracy:imgcodecs
150+
timeout-minutes: 60
151+
if: ${{ always() && steps.build.outcome == 'success' }}
152+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_imgcodecs ${{ env.EXTRA_TEST_OPT }}
153+
- name: Accuracy:imgproc
154+
timeout-minutes: 60
155+
if: ${{ always() && steps.build.outcome == 'success' }}
156+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_imgproc ${{ env.EXTRA_TEST_OPT }}
157+
- name: Accuracy:objdetect
158+
timeout-minutes: 60
159+
if: ${{ always() && steps.build.outcome == 'success' }}
160+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_objdetect ${{ env.EXTRA_TEST_OPT }}
161+
- name: Accuracy:photo
162+
timeout-minutes: 60
163+
if: ${{ always() && steps.build.outcome == 'success' }}
164+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_photo ${{ env.EXTRA_TEST_OPT }}
165+
- name: Accuracy:stereo
166+
timeout-minutes: 60
167+
if: ${{ always() && steps.build.outcome == 'success' }}
168+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_stereo ${{ env.EXTRA_TEST_OPT }}
169+
- name: Accuracy:stitching
170+
timeout-minutes: 60
171+
if: ${{ always() && steps.build.outcome == 'success' }}
172+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_stitching ${{ env.EXTRA_TEST_OPT }}
173+
- name: Accuracy:video
174+
timeout-minutes: 60
175+
if: ${{ always() && steps.build.outcome == 'success' }}
176+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_video ${{ env.EXTRA_TEST_OPT }}
177+
- name: Accuracy:videoio
178+
timeout-minutes: 60
179+
if: ${{ always() && steps.build.outcome == 'success' }}
180+
# OpenCV-GStreamer bug with MPEG: https://github.com/opencv/opencv/issues/25547
181+
run: ${{ env.TEST_RUNNER }} bin/opencv_test_videoio --gtest_filter='-videoio/videoio_synthetic.write_read_position/9:videoio/videoio_synthetic.write_read_position/12:videoio/videoio_synthetic.write_read_position/25:videoio/videoio_synthetic.write_read_position/28:videoio/videowriter_acceleration.write/40:videoio/videowriter_acceleration.write/42' ${{ env.EXTRA_TEST_OPT }}
182+
- name: Performance:3d
183+
timeout-minutes: 60
184+
if: ${{ always() && matrix.branch == '5.x' && steps.build.outcome == 'success' }}
185+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_3d ${{ env.EXTRA_PERF_OPT }}
186+
- name: Performance:calib
187+
timeout-minutes: 60
188+
if: ${{ always() && matrix.branch == '5.x' && steps.build.outcome == 'success' }}
189+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_calib ${{ env.EXTRA_PERF_OPT }}
190+
- name: Performance:calib3d
191+
timeout-minutes: 60
192+
if: ${{ always() && matrix.branch == '4.x' && steps.build.outcome == 'success' }}
193+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_calib3d ${{ env.EXTRA_PERF_OPT }}
194+
- name: Performance:core
195+
timeout-minutes: 60
196+
if: ${{ always() && steps.build.outcome == 'success' }}
197+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_core ${{ env.EXTRA_PERF_OPT }}
198+
- name: Performance:dnn
199+
timeout-minutes: 60
200+
if: ${{ always() && steps.build.outcome == 'success' }}
201+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_dnn ${{ env.EXTRA_PERF_OPT }}
202+
- name: Performance:${MOD_FEATURES}
203+
timeout-minutes: 60
204+
if: ${{ always() && steps.build.outcome == 'success' }}
205+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_${MOD_FEATURES} ${{ env.EXTRA_PERF_OPT }}
206+
- name: Performance:gapi
207+
timeout-minutes: 60
208+
if: ${{ always() && matrix.branch == '4.x' && steps.build.outcome == 'success' }}
209+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_gapi ${{ env.EXTRA_PERF_OPT }} --gtest_filter=*:-SubPerfTestFluid/*
210+
- name: Performance:imgcodecs
211+
timeout-minutes: 60
212+
if: ${{ always() && steps.build.outcome == 'success' }}
213+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_imgcodecs ${{ env.EXTRA_PERF_OPT }}
214+
- name: Performance:imgproc
215+
timeout-minutes: 60
216+
if: ${{ always() && steps.build.outcome == 'success' }}
217+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_imgproc ${{ env.EXTRA_PERF_OPT }}
218+
- name: Performance:objdetect
219+
timeout-minutes: 60
220+
if: ${{ always() && steps.build.outcome == 'success' }}
221+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_objdetect ${{ env.EXTRA_PERF_OPT }}
222+
- name: Performance:photo
223+
timeout-minutes: 60
224+
if: ${{ always() && steps.build.outcome == 'success' }}
225+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_photo ${{ env.EXTRA_PERF_OPT }}
226+
- name: Performance:stereo
227+
timeout-minutes: 60
228+
if: ${{ always() && steps.build.outcome == 'success' }}
229+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_stereo ${{ env.EXTRA_PERF_OPT }}
230+
- name: Performance:stitching
231+
timeout-minutes: 60
232+
if: ${{ always() && steps.build.outcome == 'success' }}
233+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_stitching ${{ env.EXTRA_PERF_OPT }}
234+
- name: Performance:video
235+
timeout-minutes: 60
236+
if: ${{ always() && steps.build.outcome == 'success' }}
237+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_video ${{ env.EXTRA_PERF_OPT }}
238+
- name: Performance:videoio
239+
timeout-minutes: 60
240+
if: ${{ always() && steps.build.outcome == 'success' }}
241+
run: ${{ env.TEST_RUNNER }} bin/opencv_perf_videoio ${{ env.EXTRA_PERF_OPT }}
242+

0 commit comments

Comments
 (0)