C++ CI Workflow with conda-forge dependencies #1023
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: C++ CI Workflow with conda-forge dependencies | |
on: | |
push: | |
pull_request: | |
schedule: | |
# * is a special character in YAML so you have to quote this string | |
# Execute a "nightly" build at 2 AM UTC | |
- cron: '0 2 * * *' | |
jobs: | |
build: | |
name: '[${{ matrix.os }}@${{ matrix.build_type }}@conda]' | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
build_type: [Release] | |
os: [ubuntu-latest, windows-2022] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
miniforge-variant: Miniforge3 | |
miniforge-version: latest | |
channels: conda-forge,robostack-staging,robotology | |
channel-priority: true | |
- name: Dependencies | |
shell: bash -l {0} | |
run: | | |
# Compilation related dependencies | |
conda install cmake compilers make ninja pkg-config | |
# Actual dependencies | |
conda install glew glfw eigen glm openxr-sdk yarp | |
- name: OpenGL [Linux] | |
if: contains(matrix.os, 'ubuntu') | |
shell: bash -l {0} | |
run: | | |
# OpenGL is not found on Ubuntu when using conda. Related issue https://github.com/robotology/robotology-superbuild/issues/929 | |
# See https://github.com/robotology/robotology-superbuild/issues/477 | |
# See https://github.com/robotology/robotology-superbuild/pull/1606 | |
conda install expat freeglut libselinux-cos7-x86_64 xorg-libxau libxcb xorg-libxdamage xorg-libxext xorg-libxfixes xorg-libxxf86vm xorg-libxrandr mesa-libgl-cos7-x86_64 mesa-libgl-devel-cos7-x86_64 | |
- name: Configure [Linux] | |
if: contains(matrix.os, 'ubuntu') | |
shell: bash -l {0} | |
run: | | |
mkdir -p build | |
cd build | |
cmake -GNinja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} .. | |
- name: Configure [Windows] | |
if: contains(matrix.os, 'windows') | |
shell: bash -l {0} | |
run: | | |
mkdir -p build | |
cd build | |
cmake -G"Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} .. | |
- name: Build | |
shell: bash -l {0} | |
run: | | |
cd build | |
cmake --build . --config ${{ matrix.build_type }} | |