Skip to content

add shell bash

add shell bash #31

Workflow file for this run

name: Build-OpenCV
on:
push:
branches: [ main ]
paths: [ '.github/workflows/opencv.yml' ]
workflow_dispatch:
env:
OPENCV_VERSION: 4.11.0
OPENCV_CMAKE_ARGS: >-
-D CMAKE_BUILD_TYPE=RELEASE
-D OPENCV_EXTRA_MODULES_PATH=${{ github.workspace }}/opencv_contrib/modules
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/opencv/build/install
-D BUILD_LIST=core,imgproc,imgcodecs
-D BUILD_PNG=ON
-D BUILD_TIFF=ON
-D ENABLE_CXX11=ON
-D BUILD_SHARED_LIBS=OFF
-D BUILD_EXAMPLES=OFF
-D BUILD_DOCS=OFF
-D BUILD_PERF_TESTS=OFF
-D BUILD_TESTS=OFF
-D BUILD_JAVA=OFF
-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=OFF
jobs:
build:
runs-on: ${{
(matrix.os == 'ubuntu.22.04') && 'ubuntu-22.04' ||
(matrix.os == 'ubuntu.24.04') && 'ubuntu-24.04' ||
(matrix.os == 'win' && matrix.arch == 'x64') && 'windows-2022' ||
(matrix.os == 'osx' && matrix.arch == 'arm64') && 'macos-14'
}}
strategy:
matrix:
include:
- { os: ubuntu.22.04, arch: x64 }
- { os: ubuntu.24.04, arch: x64 }
- { os: win, arch: x64 }
- { os: osx, arch: arm64 }
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 ${{ env.OPENCV_CMAKE_ARGS }} ..
- name: Build OpenCV
shell: bash
run: |
cd opencv/build
if [[ "${{ matrix.os }}" == "win" ]]; then
cmake --build . --config Release
else
make -j$(nproc)
fi
- name: Install OpenCV
shell: bash
run: |
cd opencv/build
if [[ "${{ matrix.os }}" == "win" ]]; then
cmake --install . --config Release
else
make install
fi
- name: Show Build Artifacts
shell: bash
run: |
cd opencv/build && ls -lR
- name: Make artifacts
shell: bash
run: |
mkdir artifacts
cp -r opencv/build/install/* artifacts
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: opencv-linux-x64-${{ matrix.os }}
path: artifacts