fix flann randomSeed #2487
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |