Skip to content

fix flann randomSeed #2487

fix flann randomSeed

fix flann randomSeed #2487

name: Continuous Integration
on:
push:
branches:
- master
- develop
# Skip jobs when only documentation files are changed
paths-ignore:
- '**.md'
- '**.rst'
- '**.db'
- 'docs/**'
pull_request:
paths-ignore:
- '**.md'
- '**.rst'
- '**.db'
- 'docs/**'
jobs:
build-linux:
runs-on: ubuntu-latest
container:
image: alicevision/alicevision-deps:2023.06.07-centos7-cuda11.3.1
env:
DEPS_INSTALL_DIR: /opt/AliceVision_install
BUILD_TYPE: Release
CTEST_OUTPUT_ON_FAILURE: 1
ALICEVISION_ROOT: ${{ github.workspace }}/../AV_install
steps:
- uses: actions/checkout@v1
- name: Prepare File Tree
run: |
mkdir ./build
mkdir ./build_as_3rdparty
mkdir ./functional_tests
mkdir ../AV_install
git submodule update -i
- name: Configure CMake
working-directory: ./build
run: |
cmake .. \
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_PREFIX_PATH="${DEPS_INSTALL_DIR}" \
-DCMAKE_INSTALL_PREFIX:PATH=$PWD/../../AV_install \
-DTARGET_ARCHITECTURE=core \
-DALICEVISION_BUILD_TESTS:BOOL=ON \
-DALICEVISION_BUILD_EXAMPLES:BOOL=ON \
-DALICEVISION_USE_OPENCV:BOOL=ON \
-DALICEVISION_USE_CUDA:BOOL=ON \
-DALICEVISION_USE_CCTAG:BOOL=ON \
-DALICEVISION_USE_POPSIFT:BOOL=ON \
-DALICEVISION_USE_ALEMBIC:BOOL=ON \
-DOpenCV_DIR:PATH="${DEPS_INSTALL_DIR}/share/OpenCV" \
-DALICEVISION_USE_OPENGV:BOOL=ON \
-DOPENGV_DIR:PATH="${DEPS_INSTALL_DIR}" \
-DBOOST_NO_CXX11:BOOL=ON \
-DCeres_DIR:PATH="${DEPS_INSTALL_DIR}/share/Ceres" \
-DEIGEN_INCLUDE_DIR_HINTS:PATH="${DEPS_INSTALL_DIR}" \
-DAlembic_DIR:PATH="${DEPS_INSTALL_DIR}/lib/cmake/Alembic"
- name: Build
working-directory: ./build
run: |
make -j$(nproc)
- name: Install
working-directory: ./build
run: |
make install
- name: Unit Tests
working-directory: ./build
run: |
make test
- name: Build As Third Party
working-directory: ./build_as_3rdparty
run: |
cmake ../src/samples/aliceVisionAs3rdParty \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_PREFIX_PATH:PATH="$PWD/../../AV_install;${DEPS_INSTALL_DIR}"
make -j$(nproc)
- name: Functional Tests
working-directory: ./functional_tests
run: |
git clone --branch master https://github.com/alicevision/SfM_quality_evaluation.git
cd SfM_quality_evaluation/
# checkout a specific commit to ensure repeatability
git checkout 36e3bf2d05c64d1726cb4a0e770923794f203f98
export LD_LIBRARY_PATH=$PWD/../../../AV_install/lib64:${DEPS_INSTALL_DIR}/lib64:${DEPS_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}
echo "ldd aliceVision_cameraInit"
ldd $PWD/../../../AV_install/bin/aliceVision_cameraInit
python EvaluationLauncher.py -s $PWD/../../../AV_install/bin -i $PWD/Benchmarking_Camera_Calibration_2008/ -o $PWD/reconstructions/ -r $PWD/results.json -v
build-windows:
runs-on: windows-latest
env:
DEPS_INSTALL_DIR: '${{ github.workspace }}/install'
buildDir: '${{ github.workspace }}/build/'
vcpkgDir: '${{ github.workspace }}\..\vcpkg'
# tripletPath: '${{ github.workspace }}\..\vcpkg\triplets\community\x64-windows-release.cmake'
BUILD_TYPE: Release
CTEST_OUTPUT_ON_FAILURE: 1
ALICEVISION_ROOT: '${{ github.workspace }}/install'
COMMIT_ID: 8e8a3d7c1a6f7f587b486663b1e814911e6f2342
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: vcpkg - Clone repository
# Uses a specific version of vcpkg with a fix on OpenEXR/Imath portfiles
run: |
cd ..
git clone https://github.com/alicevision/vcpkg.git
cd vcpkg
git checkout ${{ env.COMMIT_ID }}
cd ${{ github.workspace }}
# New-Item -Path ${{ env.tripletPath}} -ItemType File
# "set(VCPKG_TARGET_ARCHITECTURE x64)" | Out-File -FilePath ${{ env.tripletPath}} -Append
# "set(VCPKG_CRT_LINKAGE dynamic)" | Out-File -FilePath ${{ env.tripletPath}} -Append
# "set(VCPKG_LIBRARY_LINKAGE dynamic)" | Out-File -FilePath ${{ env.tripletPath}} -Append
# "set(VCPKG_BUILD_TYPE release)" | Out-File -FilePath ${{ env.tripletPath}} -Append
- name: vcpkg - Boostrap
run: |
${{ env.vcpkgDir }}\bootstrap-vcpkg.bat
#- uses: Jimver/cuda-toolkit@v0.2.3
# id: cuda-toolkit
# with:
# cuda: '11.2.2'
#
#- name: Display CUDA information
# run: echo "Installed cuda version is "${{steps.cuda-toolkit.outputs.cuda}}
# echo "Cuda install location "${{steps.cuda-toolkit.outputs.CUDA_PATH}}
# nvcc -V
# CUDA doesn't seem to handle Custom Build with "Jimver/cuda-toolkit@v0.2.3" well raising an error MSB8066 during build
# This needs a fix before implementation
- name: Display remaining disk space (16 Go max)
run: |
Get-CimInstance -Class Win32_logicaldisk
# Install latest CMake.
- uses: lukka/get-cmake@latest
# Restore from cache the previously built ports. If a "cache miss" occurs, then vcpkg is bootstrapped. Since a the vcpkg.json is being used later on to install the packages when run-cmake runs, no packages are installed at this time and the input 'setupOnly:true' is mandatory.
- name: vcpkg - Setup dependencies
uses: lukka/run-vcpkg@v7
with:
# Just install vcpkg for now, do not install any ports in this step yet.
setupOnly: false
# Location of the vcpkg submodule in the Git repository.
vcpkgDirectory: ${{ env.vcpkgDir }}
vcpkgGitCommitId: ${{ env.COMMIT_ID }}
vcpkgArguments: boost-algorithm boost-accumulators boost-atomic boost-container boost-date-time boost-exception boost-filesystem boost-graph boost-log
boost-program-options boost-property-tree boost-ptr-container boost-regex boost-serialization boost-system boost-test boost-thread boost-timer
lz4
openexr
geogram
eigen3
alembic
opencv[eigen,ffmpeg,webp,contrib,nonFree]
openimageio[libraw,ffmpeg,freetype,opencv,gif,webp,opencolorio]
ceres[suitesparse,cxsparse]
tbb
assimp
pcl
clp
# without "cuda" for now
vcpkgTriplet: x64-windows-release
# doNotCache: true
# Ensure the vcpkg artifacts are cached, they are generated in the 'CMAKE_BINARY_DIR/vcpkg_installed' directory.
additionalCachedPaths: ${{ env.buildDir }}/vcpkg_installed
# This is used to unbreak cached artifacts if for some reason dependencies fail to build,
# the action does not notice it and saves broken artifacts.
appendedCacheKey: cache2
- name: vcpkg - Display installed packages
run:
vcpkg list
- name: Build
uses: lukka/run-cmake@v3
with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
cmakeListsTxtPath: '${{ github.workspace }}/CMakeLists.txt'
buildDirectory: ${{ env.buildDir }}
buildWithCMakeArgs: '--config Release --target install'
cmakeAppendedArgs: -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
-DBUILD_SHARED_LIBS:BOOL=ON
-DTARGET_ARCHITECTURE=core
-DCMAKE_INSTALL_PREFIX:PATH=${{ env.ALICEVISION_ROOT }}
-DALICEVISION_BUILD_TESTS:BOOL=ON
-DALICEVISION_BUILD_EXAMPLES:BOOL=ON
-DALICEVISION_USE_OPENCV:BOOL=ON
-DALICEVISION_USE_CUDA:BOOL=OFF
-DALICEVISION_USE_CCTAG:BOOL=OFF
-DALICEVISION_USE_POPSIFT:BOOL=OFF
-DALICEVISION_USE_ALEMBIC:BOOL=ON
-DALICEVISION_USE_OPENGV:BOOL=OFF
# This input tells run-cmake to consume the vcpkg.cmake toolchain file set by run-vcpkg.
cmakeBuildType: Release
useVcpkgToolchainFile: true
buildWithCMake: true
- name: UnitTests
uses: lukka/run-cmake@v3
with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
cmakeListsTxtPath: '${{ github.workspace }}/CMakeLists.txt'
buildDirectory: ${{ env.buildDir }}
buildWithCMakeArgs: '--config Release --target RUN_TESTS'
cmakeAppendedArgs: -DCMAKE_INSTALL_PREFIX:PATH=${{ env.ALICEVISION_ROOT }}
# This input tells run-cmake to consume the vcpkg.cmake toolchain file set by run-vcpkg.
cmakeBuildType: Release
useVcpkgToolchainFile: true
buildWithCMake: true