Skip to content

fix mark artifacts step #10

fix mark artifacts step

fix mark artifacts step #10

Workflow file for this run

name: Build
on:
push:
branches: [ main ]
workflow_dispatch:
env:
OPENCV_VERSION: 4.10.0
OPENCVSHARP_VERSION: 4.10.0.20241024
jobs:
build:
name: Build OpenCV
runs-on: ubuntu-latest
steps:
- name: Install Dependencies
run: |
echo "Installing dependencies..."
# Do nothing now
- name: Checkout OpenCV repo
uses: actions/checkout@v4
with:
repository: opencv/opencv
ref: ${{ env.OPENCV_VERSION }}
path: opencv
fetch-depth: 1
- name: Checkout OpenCV Contrib repo
uses: actions/checkout@v4
with:
repository: opencv/opencv_contrib
ref: ${{ env.OPENCV_VERSION }}
path: opencv_contrib
fetch-depth: 1
- name: Configure OpenCV
run: |
cd opencv && mkdir build && cd build && \
cmake \
-D CMAKE_BUILD_TYPE=RELEASE \
-D OPENCV_EXTRA_MODULES_PATH=${{ github.workspace }}/opencv_contrib/modules \
-D BUILD_SHARED_LIBS=OFF \
-D ENABLE_CXX11=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_DOCS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_JAVA=OFF \
-D BUILD_LIST=core,imgproc,imgcodecs \
-D BUILD_PNG=ON \
-D BUILD_TIFF=ON \
-D WITH_GSTREAMER=OFF \
-D WITH_ADE=OFF \
-D WITH_FFMPEG=OFF \
-D WITH_V4L=OFF \
-D WITH_1394=OFF \
-D WITH_GTK=OFF \
-D WITH_OPENEXR=OFF \
-D WITH_PROTOBUF=OFF \
-D WITH_QUIRC=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
..
- name: Build OpenCV
run: |
cd opencv/build && make -j$(nproc)
- name: Show Build Artifacts
run: |
cd opencv/build && ls -lR | grep -iE 'libopencv|opencv_.*\.so|opencv_.*\.dll|opencv_.*\.a|opencv_.*\.dylib'
- name: Checkout OpenCvSharp
uses: actions/checkout@v4
with:
repository: shimat/opencvsharp
ref: ${{ env.OPENCVSHARP_VERSION }}
path: opencvsharp
fetch-depth: 1
- name: Apply Patches
run: |
echo "::group::Patching include_opencv.h"
sed -i '42s/.*/ /;44,70s/.*/ /' ${{ github.workspace }}/opencvsharp/src/OpenCvSharpExtern/include_opencv.h
cat ${{ github.workspace }}/opencvsharp/src/OpenCvSharpExtern/include_opencv.h
echo "::endgroup::"
echo "::group::Patching std_vector.h"
sed -i '451,585s/.*/ /' ${{ github.workspace }}/opencvsharp/src/OpenCvSharpExtern/std_vector.h
cat ${{ github.workspace }}/opencvsharp/src/OpenCvSharpExtern/std_vector.h
echo "::endgroup::"
echo "::group::Patching CMakeLists.txt"
sed -i '12s/.*/file(GLOB OPENCVSHARP_FILES core*.cpp imgp*.cpp imgc*.cpp std*.cpp)/' ${{ github.workspace }}/opencvsharp/src/OpenCvSharpExtern/CMakeLists.txt
cat ${{ github.workspace }}/opencvsharp/src/OpenCvSharpExtern/CMakeLists.txt
echo "::endgroup::"
- name: Configure OpenCvSharp
run: |
cd opencvsharp && mkdir build && cd build && \
cmake \
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/opencvsharp/build \
-D OpenCV_DIR=${{ github.workspace }}/opencv/build \
../src
- name: Build OpenCvSharp
run: |
cd opencvsharp/build && make -j$(nproc)
- name: Show OpenCvSharp Artifacts
run: |
cd opencvsharp/build
ls -lR
ldd OpenCvSharpExtern/libOpenCvSharpExtern.so
- name: Test OpenCvSharp
run: |
mkdir test && cd test && echo '#include <stdio.h>
int core_Mat_sizeof();
int main()
{
int i = core_Mat_sizeof();
printf("sizeof(Mat) = %d\n", i);
return 0;
}' > test.c
gcc test.c -L../opencvsharp/build/OpenCvSharpExtern -lOpenCvSharpExtern -o test
- name: Run Test
run: |
export LD_LIBRARY_PATH=${{ github.workspace }}/opencvsharp/build/OpenCvSharpExtern:$LD_LIBRARY_PATH
cd test && ./test
- name: Make artifacts
run: |
mkdir artifacts && cd artifacts && mkdir lib test
cp -r ../opencvsharp/build/OpenCvSharpExtern/* ./lib
cp -r ../test/* ./test
ls -lR
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: opencvsharp-${{ env.OPENCVSHARP_VERSION }}-ubuntu-linux-x64
path: artifacts