| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- name: Nightly
- on:
- schedule:
- - cron: '0 4 * * *'
- env:
- CTEST_OUTPUT_ON_FAILURE: ON
- CTEST_PARALLEL_LEVEL: 2
- jobs:
- ####################
- # Linux / macOS
- ####################
- # Part of this file is inspired from
- # https://github.com/onqtam/doctest/blob/dev/.github/workflows/main.yml
- Unix:
- name: ${{ matrix.name }} (${{ matrix.config }}, Static=${{ matrix.static }})
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- name: [
- ubuntu-20.04-gcc-8,
- ubuntu-20.04-gcc-9,
- ubuntu-20.04-gcc-10,
- ubuntu-20.04-clang-8,
- ubuntu-20.04-clang-9,
- ubuntu-20.04-clang-10,
- macOS-latest,
- ]
- config: [Debug, Release]
- static: [ON, OFF]
- include:
- - name: ubuntu-20.04-gcc-8
- os: ubuntu-20.04
- compiler: gcc
- version: "8"
- - name: ubuntu-20.04-gcc-9
- os: ubuntu-20.04
- compiler: gcc
- version: "9"
- - name: ubuntu-20.04-gcc-10
- os: ubuntu-20.04
- compiler: gcc
- version: "10"
- - name: ubuntu-20.04-clang-8
- os: ubuntu-20.04
- compiler: clang
- version: "8"
- - name: ubuntu-20.04-clang-9
- os: ubuntu-20.04
- compiler: clang
- version: "9"
- - name: ubuntu-20.04-clang-10
- os: ubuntu-20.04
- compiler: clang
- version: "10"
- - name: macOS-latest
- os: macOS-latest
- # Build tutorials for most configurations
- - tutorials: ON
- # Except with Debug mode
- - config: Debug
- tutorials: OFF
- env:
- LIBIGL_NUM_THREADS: 1 # See https://github.com/libigl/libigl/pull/996
- steps:
- - name: Checkout repository
- uses: actions/checkout@v1
- with:
- fetch-depth: 10
- - name: Dependencies (Linux)
- if: runner.os == 'Linux'
- run: |
- sudo apt-get update
- if [ "${{ matrix.compiler }}" = "gcc" ]; then
- sudo apt-get install -y g++-${{ matrix.version }}
- echo "CC=gcc-${{ matrix.version }}" >> $GITHUB_ENV
- echo "CXX=g++-${{ matrix.version }}" >> $GITHUB_ENV
- else
- sudo apt-get install -y clang-${{ matrix.version }}
- echo "CC=clang-${{ matrix.version }}" >> $GITHUB_ENV
- echo "CXX=clang++-${{ matrix.version }}" >> $GITHUB_ENV
- fi
- sudo apt-get install \
- libblas-dev \
- libboost-filesystem-dev \
- libboost-system-dev \
- libboost-thread-dev \
- libglu1-mesa-dev \
- liblapack-dev \
- libmpfr-dev \
- xorg-dev
- - name: Dependencies (macOS)
- if: runner.os == 'macOS'
- run: brew install boost gmp mpfr
- - name: Configure
- run: |
- mkdir -p build
- cd build
- cmake .. \
- -DCMAKE_BUILD_TYPE=${{ matrix.config }} \
- -DLIBIGL_USE_STATIC_LIBRARY=${{ matrix.static }} \
- -DLIBIGL_BUILD_TUTORIALS=${{ matrix.tutorials }} \
- -DLIBIGL_WITH_CGAL=ON \
- -DLIBIGL_WITH_COMISO=ON
- - name: Free Disk Space
- if: runner.os == 'Linux'
- run: |
- sudo swapoff -a
- sudo apt clean
- sudo rm -rf /swapfile /usr/share/dotnet /usr/local/lib/android /opt/ghc
- df -h
- - name: Build
- run: cd build; make -j2
- - name: Tests
- run: cd build; ctest --verbose
- ####################
- # Windows
- ####################
- Windows:
- name: Windows (${{ matrix.config }}, Static=${{ matrix.static }})
- runs-on: windows-2019
- env:
- CC: cl.exe
- CXX: cl.exe
- strategy:
- fail-fast: false
- matrix:
- config: [Debug, Release]
- static: [ON, OFF]
- include:
- - config: Debug
- tutorials: OFF
- - config: Release
- tutorials: ON
- steps:
- - name: Checkout repository
- uses: actions/checkout@v1
- with:
- fetch-depth: 10
- - uses: seanmiddleditch/gha-setup-ninja@master
- - name: Set env
- run: |
- echo "BOOST_ROOT=$env:BOOST_ROOT_1_72_0" >> ${env:GITHUB_ENV}
- # We run configure + build in the same step, since they both need to call VsDevCmd
- # Also, cmd uses ^ to break commands into multiple lines (in powershell this is `)
- - name: Configure and build
- shell: cmd
- run: |
- call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x64
- cmake -G Ninja ^
- -DCMAKE_BUILD_TYPE=${{ matrix.config }} ^
- -DLIBIGL_USE_STATIC_LIBRARY=${{ matrix.static }} ^
- -DLIBIGL_BUILD_TUTORIALS=${{ matrix.tutorials }} ^
- -DLIBIGL_WITH_CGAL=ON ^
- -DLIBIGL_WITH_COMISO=OFF ^
- -DCMAKE_JOB_POOLS=pool-linking=1;pool-compilation=2 ^
- -DCMAKE_JOB_POOL_COMPILE:STRING=pool-compilation ^
- -DCMAKE_JOB_POOL_LINK:STRING=pool-linking ^
- -B build ^
- -S .
- cmake --build build -j 1
- - name: Tests
- run: cd build; ctest --verbose
|