Merge branch 'stack-of-tasks-devel' into devel #44
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: CI - OSX/Linux via Conda | |
on: | |
push: | |
paths-ignore: | |
- doc/** | |
- .gitlab-ci.yml | |
- .gitignore | |
- '*.md' | |
- CITATION.* | |
- COPYING.LESSER | |
- colcon.pkg | |
- .pre-commit-config.yaml | |
pull_request: | |
paths-ignore: | |
- doc/** | |
- .gitlab-ci.yml | |
- .gitignore | |
- '*.md' | |
- CITATION.* | |
- COPYING.LESSER | |
- colcon.pkg | |
- .pre-commit-config.yaml | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
pinocchio-conda: | |
name: ${{ matrix.os }} - Python ${{ matrix.python-version }} ${{ matrix.build_type }} with Conda | |
runs-on: ${{ matrix.os }} | |
env: | |
CCACHE_BASEDIR: ${GITHUB_WORKSPACE} | |
CCACHE_DIR: ${GITHUB_WORKSPACE}/.ccache | |
CCACHE_COMPRESS: true | |
CCACHE_COMPRESSLEVEL: 5 | |
BUILD_ADVANCED_TESTING: ${{ matrix.BUILD_ADVANCED_TESTING }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
build_type: [Release, Debug] | |
python-version: ['3.8', '3.12'] | |
include: | |
- os: ubuntu-latest | |
BUILD_ADVANCED_TESTING: OFF | |
# Disable BUILD_ADVANCED_TESTING as the test can take many time to run | |
- os: macos-latest | |
BUILD_ADVANCED_TESTING: OFF | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/cache@v4 | |
with: | |
path: .ccache | |
save-always: true | |
key: ccache-macos-linux-conda-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.python-version }}-${{ github.sha }} | |
restore-keys: ccache-macos-linux-conda-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.python-version }}- | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
activate-environment: pinocchio-linux | |
auto-update-conda: true | |
environment-file: .github/workflows/conda/environment_macos_linux.yml | |
python-version: ${{ matrix.python-version }} | |
auto-activate-base: false | |
- name: Setup CMAKE_TOOLCHAIN_FILE | |
if: (contains(matrix.os, 'macos') || contains(matrix.os, 'ubuntu')) && contains(matrix.build_type, 'Debug') | |
run: | | |
echo "CMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/.github/workflows/cmake/linux-debug-toolchain.cmake" >> "$GITHUB_ENV" | |
- name: Get Compilation Flags | |
id: get_labels | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const script = require('./.github/workflows/scripts/get_label.js'); | |
await script({github, context, core}) | |
result-encoding: string | |
- name: Build Pinocchio | |
shell: bash -el {0} | |
run: | | |
conda list | |
echo $CONDA_PREFIX | |
mkdir build | |
cd build | |
cmake .. \ | |
-G "Ninja" \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ | |
-DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \ | |
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ | |
-DBUILD_ADVANCED_TESTING=${{ env.BUILD_ADVANCED_TESTING }} \ | |
${{ steps.get_labels.outputs.cmakeFlags }} | |
cmake --build . -j2 | |
ctest --output-on-failure | |
cmake --install . | |
- name: Uninstall Pinocchio | |
shell: bash -el {0} | |
run: | | |
cd build | |
cmake --build . --target uninstall | |
check: | |
if: always() | |
name: check-macos-linux-conda | |
needs: | |
- pinocchio-conda | |
runs-on: Ubuntu-latest | |
steps: | |
- name: Decide whether the needed jobs succeeded or failed | |
uses: re-actors/alls-green@release/v1 | |
with: | |
jobs: ${{ toJSON(needs) }} |