Skip to content

Commit 4b84177

Browse files
authored
Merge pull request #1812 from shimat/merge_ubuntu]
merge ubuntu workflows
2 parents 51d0a94 + 0a07bf3 commit 4b84177

File tree

8 files changed

+55
-249
lines changed

8 files changed

+55
-249
lines changed

.github/workflows/linux-arm.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ jobs:
146146

147147
- name: Create NuGet package
148148
env:
149-
BETA: ""
149+
BETA: "-beta"
150150
run: |
151151
yyyymmdd=`date '+%Y%m%d'`
152152
echo $yyyymmdd

.github/workflows/publish_nuget.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,20 @@ jobs:
2222
uses: dawidd6/action-download-artifact@v14
2323
with:
2424
github_token: ${{secrets.GITHUB_TOKEN}}
25-
workflow: ubuntu22.yml
26-
name: artifacts_ubuntu_22
25+
workflow: ubuntu.yml
26+
name: artifacts_ubuntu_22.04
2727
branch: ${{ github.ref_name }}
2828

2929
- name: Download ubuntu 24 artifact
3030
uses: dawidd6/action-download-artifact@v14
3131
with:
3232
github_token: ${{secrets.GITHUB_TOKEN}}
33-
workflow: ubuntu24.yml
34-
name: artifacts_ubuntu_24
33+
workflow: ubuntu.yml
34+
name: artifacts_ubuntu_24.04
3535
branch: ${{ github.ref_name }}
3636

37+
38+
3739
- name: Download ubuntu arm artifact
3840
uses: dawidd6/action-download-artifact@v14
3941
with:
Lines changed: 45 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Ubuntu 22.04
1+
name: Ubuntu
22

33
on:
44
pull_request:
@@ -13,9 +13,17 @@ env:
1313
OPENCV_CACHE_VERSION: 2
1414

1515
jobs:
16-
build:
16+
build_test:
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
include:
21+
- ubuntu: "22.04"
22+
gtk_package: libgtk2.0-dev
23+
- ubuntu: "24.04"
24+
gtk_package: libgtk-3-dev
1725

18-
runs-on: ubuntu-22.04
26+
runs-on: ubuntu-${{ matrix.ubuntu }}
1927

2028
steps:
2129
- uses: actions/checkout@v6
@@ -34,7 +42,7 @@ jobs:
3442
cmake \
3543
libtbb-dev \
3644
libatlas-base-dev \
37-
libgtk2.0-dev \
45+
${{ matrix.gtk_package }} \
3846
libavcodec-dev \
3947
libavformat-dev \
4048
libswscale-dev \
@@ -54,7 +62,7 @@ jobs:
5462
uses: actions/cache@v5
5563
with:
5664
path: ${{ github.workspace }}/opencv_artifacts/
57-
key: opencv-${{ env.OPENCV_VERSION }}-ubuntu22-rev${{ env.OPENCV_CACHE_VERSION }}
65+
key: opencv-${{ env.OPENCV_VERSION }}-ubuntu-${{ matrix.ubuntu }}-rev${{ env.OPENCV_CACHE_VERSION }}
5866

5967
- name: Checkout OpenCV
6068
if: steps.opencv-cache.outputs.cache-hit != 'true'
@@ -74,12 +82,11 @@ jobs:
7482
- name: Build OpenCV
7583
if: steps.opencv-cache.outputs.cache-hit != 'true'
7684
run: |
77-
mkdir opencv/build && cd opencv/build
7885
cmake \
79-
-S . \
80-
-B build \
86+
-S opencv \
87+
-B opencv/build \
8188
-D CMAKE_BUILD_TYPE=Release \
82-
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
89+
-D OPENCV_EXTRA_MODULES_PATH=${GITHUB_WORKSPACE}/opencv_contrib/modules \
8390
-D BUILD_SHARED_LIBS=OFF \
8491
-D ENABLE_CXX11=ON \
8592
-D BUILD_EXAMPLES=OFF \
@@ -115,20 +122,22 @@ jobs:
115122
-D WITH_GSTREAMER=OFF \
116123
-D WITH_ADE=OFF \
117124
-D OPENCV_ENABLE_NONFREE=ON \
118-
-D CMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/opencv_artifacts ..
119-
cmake --build build
120-
cmake --install build
125+
-D CMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/opencv_artifacts
126+
cmake --build opencv/build -j 3
127+
cmake --install opencv/build
121128
sudo ldconfig
122-
cd ${GITHUB_WORKSPACE}
123129
ls
124130
125131
- name: Build OpenCvSharpExtern
126132
run: |
127-
mkdir opencvsharp/src/build && cd $_
128-
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/opencv_artifacts ..
129-
make -j
130-
ls OpenCvSharpExtern
131-
cp OpenCvSharpExtern/libOpenCvSharpExtern.so ${GITHUB_WORKSPACE}/opencvsharp/nuget/
133+
cmake \
134+
-S opencvsharp/src \
135+
-B opencvsharp/src/build \
136+
-D CMAKE_BUILD_TYPE=Release \
137+
-D CMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/opencv_artifacts
138+
cmake --build opencvsharp/src/build -j
139+
ls opencvsharp/src/build/OpenCvSharpExtern
140+
cp opencvsharp/src/build/OpenCvSharpExtern/libOpenCvSharpExtern.so ${GITHUB_WORKSPACE}/opencvsharp/nuget/
132141
133142
- name: Check OpenCvSharpExtern
134143
run: |
@@ -143,31 +152,32 @@ jobs:
143152
uses: actions/setup-dotnet@v5
144153
with:
145154
dotnet-version: '8.0.x'
155+
156+
- name: Test
157+
run: |
158+
cd ${GITHUB_WORKSPACE}/opencvsharp/test/OpenCvSharp.Tests
159+
dotnet build -c Release -f net8.0
160+
cp ${GITHUB_WORKSPACE}/opencvsharp/nuget/libOpenCvSharpExtern.so ${GITHUB_WORKSPACE}/opencvsharp/test/OpenCvSharp.Tests/bin/Release/net8.0/
161+
cp ${GITHUB_WORKSPACE}/opencvsharp/nuget/libOpenCvSharpExtern.so ${GITHUB_WORKSPACE}/opencvsharp/test/OpenCvSharp.Tests/
162+
sudo cp ${GITHUB_WORKSPACE}/opencvsharp/nuget/libOpenCvSharpExtern.so /usr/lib/
163+
LD_LIBRARY_PATH=. dotnet test OpenCvSharp.Tests.csproj -c Release -f net8.0 --runtime linux-x64 --logger "trx;LogFileName=test-results.trx" < /dev/null
146164
147165
- name: Create NuGet package
148-
env:
149-
BETA: ""
166+
env:
167+
BETA: "-beta"
150168
run: |
151169
yyyymmdd=`date '+%Y%m%d'`
152170
echo $yyyymmdd
153171
version="${OPENCV_VERSION}.${yyyymmdd}${BETA}"
154172
echo "Package version: $version"
155-
173+
156174
cd ${GITHUB_WORKSPACE}/opencvsharp
157-
dotnet pack nuget/OpenCvSharp4.official.runtime.ubuntu.22.04-x64.csproj -o ${GITHUB_WORKSPACE}/artifacts_ubuntu -p:Version=$version
158-
159-
ls ${GITHUB_WORKSPACE}/artifacts_ubuntu
175+
package_project="OpenCvSharp4.official.runtime.ubuntu.${{ matrix.ubuntu }}-x64.csproj"
176+
dotnet pack "nuget/${package_project}" -o ${GITHUB_WORKSPACE}/artifacts -p:Version=$version
177+
178+
ls ${GITHUB_WORKSPACE}/artifacts
160179
161180
- uses: actions/upload-artifact@v6
162181
with:
163-
name: artifacts_ubuntu_22
164-
path: artifacts_ubuntu
165-
166-
- name: Test
167-
run: |
168-
cd ${GITHUB_WORKSPACE}/opencvsharp/test/OpenCvSharp.Tests
169-
dotnet build -c Release -f net8.0
170-
cp ${GITHUB_WORKSPACE}/opencvsharp/nuget/libOpenCvSharpExtern.so ${GITHUB_WORKSPACE}/opencvsharp/test/OpenCvSharp.Tests/bin/Release/net8.0/
171-
cp ${GITHUB_WORKSPACE}/opencvsharp/nuget/libOpenCvSharpExtern.so ${GITHUB_WORKSPACE}/opencvsharp/test/OpenCvSharp.Tests/
172-
sudo cp ${GITHUB_WORKSPACE}/opencvsharp/nuget/libOpenCvSharpExtern.so /usr/lib/
173-
LD_LIBRARY_PATH=. dotnet test OpenCvSharp.Tests.csproj -c Release -f net8.0 --runtime linux-x64 --logger "trx;LogFileName=test-results.trx" < /dev/null
182+
name: artifacts_ubuntu_${{ matrix.ubuntu }}
183+
path: artifacts

.github/workflows/ubuntu24.yml

Lines changed: 0 additions & 177 deletions
This file was deleted.

.github/workflows/wasm.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ jobs:
156156

157157
- name: Create NuGet package
158158
env:
159-
BETA: ""
159+
BETA: "-beta"
160160
run: |
161161
yyyymmdd=`date '+%Y%m%d'`
162162
echo $yyyymmdd

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,12 @@ dotnet run
7474
```
7575

7676
### Other Linux distributions
77-
Add `OpenCvSharp4` and `OpenCvSharp4.official.runtime.linux-x64` NuGet packages to your project. This package is built on Ubuntu 24.04 and may work on other recent Linux distributions.
77+
Add `OpenCvSharp4` and the appropriate Ubuntu runtime package (for example `OpenCvSharp4.official.runtime.ubuntu.24.04-x64`) to your project. The Ubuntu runtime packages are built on the specified Ubuntu releases and may work on similar distributions.
7878
```
7979
dotnet new console -n ConsoleApp01
8080
cd ConsoleApp01
8181
dotnet add package OpenCvSharp4
82-
dotnet add package OpenCvSharp4.official.runtime.linux-x64
82+
dotnet add package OpenCvSharp4.official.runtime.ubuntu.24.04-x64
8383
# -- edit Program.cs --- #
8484
dotnet run
8585
```
@@ -162,7 +162,6 @@ http://shimat.github.io/opencvsharp/api/OpenCvSharp.html
162162
|---------|-------------|------|
163163
|**OpenCvSharp4.runtime.win**| Native bindings for Windows x64/x86 (except UWP) | [![NuGet version](https://badge.fury.io/nu/OpenCvSharp4.runtime.win.svg)](https://badge.fury.io/nu/OpenCvSharp4.runtime.win) |
164164
|**OpenCvSharp4.runtime.uwp**| Native bindings for UWP (Universal Windows Platform) x64/x86/ARM | [![NuGet version](https://badge.fury.io/nu/OpenCvSharp4.runtime.uwp.svg)](https://badge.fury.io/nu/OpenCvSharp4.runtime.uwp) |
165-
|**OpenCvSharp4.official.runtime.linux-x64**| Native bindings for Linux x64 (built on Ubuntu 24.04) | [![NuGet version](https://badge.fury.io/nu/OpenCvSharp4.official.runtime.linux-x64.svg)](https://badge.fury.io/nu/OpenCvSharp4.official.runtime.linux-x64) |
166165
|**OpenCvSharp4.official.runtime.ubuntu.22.04-x64**| Native bindings for Ubuntu 22.04 x64 | [![NuGet version](https://badge.fury.io/nu/OpenCvSharp4.official.runtime.ubuntu.22.04-x64.svg)](https://badge.fury.io/nu/OpenCvSharp4.official.runtime.ubuntu.22.04-x64) |
167166
|**OpenCvSharp4.official.runtime.ubuntu.24.04-x64**| Native bindings for Ubuntu 24.04 x64 | [![NuGet version](https://badge.fury.io/nu/OpenCvSharp4.official.runtime.ubuntu.24.04-x64.svg)](https://badge.fury.io/nu/OpenCvSharp4.official.runtime.ubuntu.24.04-x64) |
168167
|**OpenCvSharp4.runtime.linux-arm**| Native bindings for Linux Arm | [![NuGet version](https://badge.fury.io/nu/OpenCvSharp4.runtime.linux-arm.svg)](https://www.nuget.org/packages/OpenCvSharp4.runtime.linux-arm/) |

docfx/articles/intro.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ dotnet add package OpenCvSharp4
2626
# Native bindings (choose one based on your platform)
2727
dotnet add package OpenCvSharp4.runtime.win # Windows
2828
dotnet add package OpenCvSharp4.runtime.ubuntu.24.04-x64 # Ubuntu 24.04
29-
dotnet add package OpenCvSharp4.official.runtime.linux-x64 # Linux (generic)
3029
```
3130

3231
### Quick Example

0 commit comments

Comments
 (0)