Skip to content

Commit a3719ed

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

File tree

1 file changed

+239
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)