Skip to content

Develop

Develop #56

Workflow file for this run

name: OpenVX Conformance Tests
on:
push:
branches: [master, main, develop]
pull_request:
branches: [master, main, develop]
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake
- name: Install Rust
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
source $HOME/.cargo/env
rustc --version
cargo --version
- name: Build rustVX
run: |
source $HOME/.cargo/env
cargo build --release
- name: Build OpenVX CTS
run: |
cd OpenVX-cts
mkdir -p include
if [ -d "../include" ]; then
cp -r ../include/* include/ 2>/dev/null || true
fi
mkdir -p build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_STANDARD_LIBRARIES="-lm" \
-DCMAKE_CXX_STANDARD_LIBRARIES="-lm" \
-DOPENVX_INCLUDES="${{ github.workspace }}/include;${{ github.workspace }}/OpenVX-cts/include" \
-DOPENVX_LIBRARIES="${{ github.workspace }}/target/release/libopenvx_ffi.so;m" \
-DOPENVX_CONFORMANCE_VISION=ON
make -j$(nproc)
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: |
target/release/libopenvx_ffi.so
OpenVX-cts/build/bin/vx_test_conformance
OpenVX-cts/test_data/
retention-days: 1
baseline:
runs-on: ubuntu-22.04
needs: build
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run baseline tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 300 ./bin/vx_test_conformance --filter="GraphBase.*:Logging.*:SmokeTestBase.*:SmokeTest.*:TargetBase.*:Target.*"
graph:
runs-on: ubuntu-22.04
needs: build
continue-on-error: true
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run graph tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 600 ./bin/vx_test_conformance --filter="Graph.*:GraphCallback.*:GraphDelay.*:GraphROI.*:UserNode.*"
data-objects:
runs-on: ubuntu-22.04
needs: build
continue-on-error: true
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run data object tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 300 ./bin/vx_test_conformance --filter="Scalar.*:Array.*:ObjectArray.*:Matrix.*:Convolution.*:Distribution.*:LUT.*:Histogram.*"
image-ops:
runs-on: ubuntu-22.04
needs: build
continue-on-error: true
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run image operation tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 600 ./bin/vx_test_conformance --filter="Image.*:vxCopyImagePatch.*:vxMapImagePatch.*:vxCreateImageFromChannel.*:vxCopyRemapPatch.*:vxMapRemapPatch.*"
vision-color:
runs-on: ubuntu-22.04
needs: build
continue-on-error: true
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run color and channel tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 300 ./bin/vx_test_conformance --filter="ColorConvert.*:ChannelExtract.*:ChannelCombine.*:vxConvertDepth.*:vxuConvertDepth.*"
vision-filters:
runs-on: ubuntu-22.04
needs: build
continue-on-error: true
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run filter and morphology tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 600 ./bin/vx_test_conformance --filter="Box3x3.*:Gaussian3x3.*:Median3x3.*:Dilate3x3.*:Erode3x3.*:Sobel3x3.*:Magnitude.*:Phase.*:NonLinearFilter.*:Convolve.*:EqualizeHistogram.*"
vision-arithmetic:
runs-on: ubuntu-22.04
needs: build
continue-on-error: true
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run arithmetic and bitwise tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 600 ./bin/vx_test_conformance --filter="vxAddSub.*:vxuAddSub.*:vxMultiply.*:vxuMultiply.*:vxBinOp8u.*:vxuBinOp8u.*:vxBinOp16s.*:vxuBinOp16s.*:vxNot.*:vxuNot.*:WeightedAverage.*:Threshold.*"
vision-geometric:
runs-on: ubuntu-22.04
needs: build
continue-on-error: true
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run geometric transform tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 600 ./bin/vx_test_conformance --filter="Scale.*:WarpAffine.*:WarpPerspective.*:Remap.*:HalfScaleGaussian.*"
vision-features:
runs-on: ubuntu-22.04
needs: build
continue-on-error: true
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run feature and edge detection tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 600 ./bin/vx_test_conformance --filter="HarrisCorners.*:FastCorners.*:vxCanny.*:vxuCanny.*"
vision-statistics:
runs-on: ubuntu-22.04
needs: build
continue-on-error: true
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run statistics and analysis tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 300 ./bin/vx_test_conformance --filter="MeanStdDev.*:MinMaxLoc.*:Integral.*"
vision-pyramid:
runs-on: ubuntu-22.04
needs: build
continue-on-error: true
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run pyramid and optical flow tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 300 ./bin/vx_test_conformance --filter="GaussianPyramid.*:LaplacianPyramid.*:LaplacianReconstruct.*:OptFlowPyrLK.*"