Build #1344
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: Build | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
schedule: | |
- cron: "0 0 * * *" | |
jobs: | |
build: | |
name: ${{ matrix.config.name }} SCALAR_DOUBLE=${{ matrix.scalar_double }} | |
runs-on: ${{ matrix.config.os }} | |
if: "!contains(github.event.head_commit.message, '[skip ci]')" | |
strategy: | |
fail-fast: false | |
matrix: | |
scalar_double: ["OFF", "ON"] | |
config: | |
- { | |
name: "macOS Clang", | |
os: macos-latest, | |
generator: "Ninja", | |
} | |
- { | |
name: "Ubuntu GCC", | |
os: ubuntu-latest, | |
generator: "Ninja", | |
} | |
- { | |
name: "Windows MSVC", | |
os: windows-latest, | |
generator: "Ninja", | |
} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Setup (Windows) | |
if: matrix.config.os == 'windows-latest' | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '16' | |
- name: Install Dependencies (macOS) | |
if: matrix.config.os == 'macos-latest' | |
run: | | |
#with cgal: brew install cgal ninja qt5 tbb | |
brew install ninja qt5 tbb | |
echo "Qt5_DIR=/usr/local/opt/qt5/lib/cmake/Qt5" >> $GITHUB_ENV | |
- name: Install Dependencies (Ubuntu) | |
if: matrix.config.os == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libcgal-dev libtbb-dev ninja-build qtbase5-dev | |
# DGM: caching conda doesn't seem to work properly anymore | |
#- name: Conda Cache (Windows) | |
# if: matrix.config.os == 'windows-latest' | |
# uses: actions/cache@v3 | |
# with: | |
# path: C:\Miniconda3\envs\CCCoreLib | |
# key: conda-cache-${{ runner.os }}-${{ hashFiles('.ci/conda.yml') }} | |
# DGM: without caching, using conda takes too long... | |
#- name: Install Dependencies (Windows) | |
# if: matrix.config.os == 'windows-latest' | |
# uses: conda-incubator/setup-miniconda@v2 | |
# with: | |
# activate-environment: CCCoreLib | |
# auto-activate-base: false | |
# environment-file: .ci/conda.yml | |
# channels: conda-forge | |
# miniconda-version: 'latest' | |
# DGM: we'll just use Qt for now (and not CGAL) | |
- name: Install Qt | |
if: matrix.config.os == 'windows-latest' | |
uses: jurplel/install-qt-action@v3 | |
- name: Configure MSVC console (Windows) | |
if: matrix.config.os == 'windows-latest' | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Set environment for MSVC (Windows) | |
if: matrix.config.os == 'windows-latest' | |
run: | | |
# Set these env vars so cmake picks the correct compiler | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#environment-files | |
echo "CXX=cl.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
echo "CC=cl.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
- name: Configure (macOS) | |
if: matrix.config.os == 'macos-latest' | |
run: > | |
mkdir cccorelib-build | |
cmake | |
-B cccorelib-build | |
-G "${{ matrix.config.generator }}" | |
-DCMAKE_BUILD_TYPE=Release | |
-DCCCORELIB_USE_CGAL=FALSE | |
-DCCCORELIB_USES_TBB=TRUE | |
-DCCCORELIB_SCALAR_DOUBLE=${{ matrix.scalar_double }} | |
. | |
- name: Configure (Ubuntu) | |
if: matrix.config.os == 'ubuntu-latest' | |
run: > | |
mkdir cccorelib-build | |
cmake | |
-B cccorelib-build | |
-G "${{ matrix.config.generator }}" | |
-DCMAKE_BUILD_TYPE=Release | |
-DCCCORELIB_USE_CGAL=TRUE | |
-DCCCORELIB_USES_TBB=TRUE | |
-DCCCORELIB_SCALAR_DOUBLE=${{ matrix.scalar_double }} | |
. | |
- name: Configure (Windows) | |
if: matrix.config.os == 'windows-latest' | |
run: > | |
mkdir cccorelib-build | |
cmake | |
-B cccorelib-build | |
-G "${{ matrix.config.generator }}" | |
-DCMAKE_BUILD_TYPE=Release | |
# DGM: without caching, using conda takes tool long... | |
#-DCCCORELIB_USE_CGAL=TRUE | |
-DCCCORELIB_USE_CGAL=FALSE | |
-DCCCORELIB_USES_TBB=TRUE | |
-DCCCORELIB_SCALAR_DOUBLE=${{ matrix.scalar_double }} | |
. | |
- name: Build | |
run: | | |
cmake --build cccorelib-build |