Skip to content

Commit 81fe628

Browse files
committed
Added nightly ubuntu 24 debug build and test
1 parent b7efca2 commit 81fe628

File tree

1 file changed

+237
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)