Skip to content

Commit

Permalink
test self hosted
Browse files Browse the repository at this point in the history
  • Loading branch information
SamuelSandvik committed Feb 10, 2024
1 parent dde9986 commit c626fbe
Showing 1 changed file with 121 additions and 125 deletions.
246 changes: 121 additions & 125 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,23 @@
name: Build

on: [ push, pull_request ]

# Set C:\ProgramData\miniconda3\envs\CloudCompareDev\Library\bin to path for missing dlls (zlib, libpng16)
jobs:
build:
name: ${{ matrix.config.name }} SCALAR_DOUBLE=${{ matrix.scalar_double }}
runs-on: ${{ matrix.config.os }}
runs-on: self-hosted
if: "!contains(github.event.head_commit.message, '[skip ci]')"

strategy:
fail-fast: false
matrix:
scalar_double: [ "OFF", "ON" ]
scalar_double: [ "ON" ]
config:
- {
name: "Windows MSVC",
os: windows-latest,
generator: "Ninja",
conda_library_dir: "Library",
compile_qanimation_with_ffmpeg: "ON",
compile_qpcl: "OFF",
compile_qransac: "ON",
}
- {
name: "macOS Clang",
os: macos-latest,
generator: "Ninja",
conda_library_dir: ".",
compile_qanimation_with_ffmpeg: "OFF",
compile_qpcl: "OFF",
compile_qransac: "ON",
}

steps:
Expand Down Expand Up @@ -63,15 +51,13 @@ jobs:
# DGM: without caching, using conda on Windows takes a long time...
- name: Install Dependencies
uses: conda-incubator/setup-miniconda@v2
env:
CONDA: C:\ProgramData\miniconda3
with:
activate-environment: CloudCompareDev
auto-activate-base: false
environment-file: .ci/conda.yml
miniconda-version: 'latest'

- name: Install Dependencies (macOS)
if: matrix.config.os == 'macos-latest'
run: brew install xerces-c
#miniconda-version: 'latest'

- name: Configure MSVC console (Windows)
if: matrix.config.os == 'windows-latest'
Expand All @@ -86,7 +72,7 @@ jobs:
echo "CC=cl.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Configure CMake
shell: bash -l {0}
shell: gitbash -l {0}
run: |
mkdir build
Expand All @@ -108,133 +94,143 @@ jobs:
-DPLUGIN_GL_QSSAO=ON \
-DPLUGIN_IO_QADDITIONAL=ON \
-DPLUGIN_IO_QCORE=ON \
-DPLUGIN_IO_QCSV_MATRIX=OFF \
-DPLUGIN_IO_QDRACO=OFF \
-DPLUGIN_IO_QE57=ON \
-DPLUGIN_IO_QPHOTOSCAN=ON \
-DPLUGIN_IO_QFBX=OFF \
-DPLUGIN_IO_QLAS=ON \
-DPLUGIN_IO_QPDAL=OFF \
-DPLUGIN_IO_QPHOTOSCAN=ON \
-DPLUGIN_IO_QRDB=ON \
-DPLUGIN_IO_QRDB_FETCH_DEPENDENCY=ON \
-DPLUGIN_IO_QRDB_INSTALL_DEPENDENCY=ON \
-DPLUGIN_IO_QSTEP=OFF \
-DPLUGIN_STANDARD_3DMASC=OFF \
-DPLUGIN_STANDARD_QANIMATION=ON \
-DQANIMATION_WITH_FFMPEG_SUPPORT=${{ matrix.config.compile_qanimation_with_ffmpeg }} \
-DQANIMATION_WITH_FFMPEG_SUPPORT=ON \
-DPLUGIN_STANDARD_QBROOM=ON \
-DPLUGIN_STANDARD_QCANUPO=OFF \
-DPLUGIN_STANDARD_QCLOUDLAYERS=ON \
-DPLUGIN_STANDARD_QCOLORIMETRIC_SEGMENTER=OFF \
-DPLUGIN_STANDARD_QCOMPASS=ON \
-DPLUGIN_STANDARD_QCORK=OFF \
-DPLUGIN_STANDARD_QCSF=ON \
-DPLUGIN_STANDARD_QFACETS=ON \
-DPLUGIN_STANDARD_QHOUGH_NORMALS=ON \
-DPLUGIN_STANDARD_QHPR=ON \
-DPLUGIN_STANDARD_QJSONRPC=OFF \
-DPLUGIN_STANDARD_QM3C2=ON \
-DPLUGIN_STANDARD_MASONRY_QAUTO_SEG=OFF \
-DPLUGIN_STANDARD_MASONRY_QMANUAL_SEG=OFF \
-DPLUGIN_STANDARD_QMESH_BOOLEAN=OFF \
-DPLUGIN_STANDARD_QMPLANE=OFF \
-DPLUGIN_STANDARD_QPCL=ON \
-DPLUGIN_STANDARD_QPCV=ON \
-DPLUGIN_STANDARD_QPOISSON_RECON=ON \
-DPLUGIN_STANDARD_QRANSAC_SD=OFF \
-DPLUGIN_STANDARD_QSRA=ON \
-DPLUGIN_STANDARD_QRANSAC_SD=${{ matrix.config.compile_qransac }} \
-DPLUGIN_STANDARD_QPCL=${{ matrix.config.compile_qpcl }} \
-DPLUGIN_STANDARD_QCLOUDLAYERS=ON \
-DPLUGIN_STANDARD_QTREEISO=OFF \
.
- name: Build
run: cmake --build build --parallel

- name: Install (macOs)
if: matrix.config.os == 'macos-latest'
run: sudo cmake --install build

- name: Install (Windows)
if: matrix.config.os == 'windows-latest'
run: cmake --install build

ubuntu-build:
name: Ubuntu ${{ matrix.compiler }} SCALAR_DOUBLE=${{ matrix.scalar_double }}
runs-on: ubuntu-20.04
if: "!contains(github.event.head_commit.message, '[skip ci]')"

strategy:
fail-fast: false
matrix:
scalar_double: [ "OFF", "ON" ]
compiler: ["GCC", "Clang"]

steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive

- name: Install Dependencies
run: >
sudo apt-get update -qq
sudo apt-get install -qy cmake ninja-build
libqt5svg5-dev libqt5opengl5-dev qt5-default qttools5-dev qttools5-dev-tools libqt5websockets5-dev
libtbb-dev
libavcodec-dev libavformat-dev libavutil-dev libswscale-dev
libboost-program-options-dev libboost-thread-dev
libeigen3-dev
libcgal-dev libcgal-qt5-dev libgdal-dev libpcl-dev
libdlib-dev libproj-dev libxerces-c-dev xvfb libjsoncpp-dev liblaszip-dev
- name: Setup GCC
if: matrix.compiler == 'GCC'
run: |
echo "CC=gcc" >> $GITHUB_ENV
echo "CXX=g++" >> $GITHUB_ENV
- name: Setup Clang
if: matrix.compiler == 'Clang'
run: |
echo "CC=clang" >> $GITHUB_ENV
echo "CXX=clang++" >> $GITHUB_ENV
- name: Configure cmake
run: >
mkdir build
cmake
-B build
-S .
-G Ninja
-DEIGEN_ROOT_DIR=/usr/include/eigen3
-DJSON_ROOT_DIR=/usr/include/jsoncpp
-DDLIB_ROOT=/usr/include
-DCCCORELIB_SCALAR_DOUBLE=${{ matrix.scalar_double }}
-DCCCORELIB_USE_TBB=ON
-DPLUGIN_EXAMPLE_GL=ON
-DPLUGIN_EXAMPLE_IO=ON
-DPLUGIN_EXAMPLE_STANDARD=ON
-DPLUGIN_GL_QEDL=ON
-DPLUGIN_GL_QSSAO=ON
-DPLUGIN_IO_QADDITIONAL=ON
-DPLUGIN_IO_QCORE=ON
-DPLUGIN_IO_QE57=ON
-DE57_RELEASE_LTO=OFF
-DPLUGIN_IO_QPHOTOSCAN=ON
-DPLUGIN_IO_QLAS=ON
-DPLUGIN_IO_QRDB=ON
-DPLUGIN_IO_QRDB_FETCH_DEPENDENCY=ON
-DPLUGIN_IO_QRDB_INSTALL_DEPENDENCY=ON
-DPLUGIN_STANDARD_QANIMATION=ON
-DQANIMATION_WITH_FFMPEG_SUPPORT=ON
-DPLUGIN_STANDARD_QBROOM=ON
-DPLUGIN_STANDARD_QCANUPO=ON
-DPLUGIN_STANDARD_QCOMPASS=ON
-DPLUGIN_STANDARD_QCSF=ON
-DPLUGIN_STANDARD_QFACETS=ON
-DPLUGIN_STANDARD_QHOUGH_NORMALS=ON
-DPLUGIN_STANDARD_QHPR=ON
-DPLUGIN_STANDARD_QM3C2=ON
-DPLUGIN_STANDARD_QPCV=ON
-DPLUGIN_STANDARD_QPOISSON_RECON=ON
-DPLUGIN_STANDARD_QSRA=ON
-DPLUGIN_STANDARD_QRANSAC_SD=ON
-DPLUGIN_STANDARD_QPCL=ON
-DPLUGIN_STANDARD_QCLOUDLAYERS=ON
-DBUILD_TESTING=ON
- name: Build
run: cmake --build build --parallel

- name: Test
run: xvfb-run ctest --test-dir build

- name: Install
run: sudo cmake --install build
# ubuntu-build:
# name: Ubuntu ${{ matrix.compiler }} SCALAR_DOUBLE=${{ matrix.scalar_double }}
# runs-on: ubuntu-20.04
# if: "!contains(github.event.head_commit.message, '[skip ci]')"

# strategy:
# fail-fast: false
# matrix:
# scalar_double: [ "OFF", "ON" ]
# compiler: ["GCC", "Clang"]

# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# submodules: recursive

# - name: Install Dependencies
# run: >
# sudo apt-get update -qq

# sudo apt-get install -qy cmake ninja-build
# libqt5svg5-dev libqt5opengl5-dev qt5-default qttools5-dev qttools5-dev-tools libqt5websockets5-dev
# libtbb-dev
# libavcodec-dev libavformat-dev libavutil-dev libswscale-dev
# libboost-program-options-dev libboost-thread-dev
# libeigen3-dev
# libcgal-dev libcgal-qt5-dev libgdal-dev libpcl-dev
# libdlib-dev libproj-dev libxerces-c-dev xvfb libjsoncpp-dev liblaszip-dev

# - name: Setup GCC
# if: matrix.compiler == 'GCC'
# run: |
# echo "CC=gcc" >> $GITHUB_ENV
# echo "CXX=g++" >> $GITHUB_ENV

# - name: Setup Clang
# if: matrix.compiler == 'Clang'
# run: |
# echo "CC=clang" >> $GITHUB_ENV
# echo "CXX=clang++" >> $GITHUB_ENV

# - name: Configure cmake
# run: >
# mkdir build

# cmake
# -B build
# -S .
# -G Ninja
# -DEIGEN_ROOT_DIR=/usr/include/eigen3
# -DJSON_ROOT_DIR=/usr/include/jsoncpp
# -DDLIB_ROOT=/usr/include
# -DCCCORELIB_SCALAR_DOUBLE=${{ matrix.scalar_double }}
# -DCCCORELIB_USE_TBB=ON
# -DPLUGIN_EXAMPLE_GL=ON
# -DPLUGIN_EXAMPLE_IO=ON
# -DPLUGIN_EXAMPLE_STANDARD=ON
# -DPLUGIN_GL_QEDL=ON
# -DPLUGIN_GL_QSSAO=ON
# -DPLUGIN_IO_QADDITIONAL=ON
# -DPLUGIN_IO_QCORE=ON
# -DPLUGIN_IO_QE57=ON
# -DE57_RELEASE_LTO=OFF
# -DPLUGIN_IO_QPHOTOSCAN=ON
# -DPLUGIN_IO_QLAS=ON
# -DPLUGIN_IO_QRDB=ON
# -DPLUGIN_IO_QRDB_FETCH_DEPENDENCY=ON
# -DPLUGIN_IO_QRDB_INSTALL_DEPENDENCY=ON
# -DPLUGIN_STANDARD_QANIMATION=ON
# -DQANIMATION_WITH_FFMPEG_SUPPORT=ON
# -DPLUGIN_STANDARD_QBROOM=ON
# -DPLUGIN_STANDARD_QCANUPO=ON
# -DPLUGIN_STANDARD_QCOMPASS=ON
# -DPLUGIN_STANDARD_QCSF=ON
# -DPLUGIN_STANDARD_QFACETS=ON
# -DPLUGIN_STANDARD_QHOUGH_NORMALS=ON
# -DPLUGIN_STANDARD_QHPR=ON
# -DPLUGIN_STANDARD_QM3C2=ON
# -DPLUGIN_STANDARD_QPCV=ON
# -DPLUGIN_STANDARD_QPOISSON_RECON=ON
# -DPLUGIN_STANDARD_QSRA=ON
# -DPLUGIN_STANDARD_QRANSAC_SD=ON
# -DPLUGIN_STANDARD_QPCL=ON
# -DPLUGIN_STANDARD_QCLOUDLAYERS=ON
# -DBUILD_TESTING=ON

# - name: Build
# run: cmake --build build --parallel

# - name: Test
# run: xvfb-run ctest --test-dir build

# - name: Install
# run: sudo cmake --install build

0 comments on commit c626fbe

Please sign in to comment.