Skip to content

[CI] remove install prefix path for nasoq #289

[CI] remove install prefix path for nasoq

[CI] remove install prefix path for nasoq #289

Workflow file for this run

name: CI of QpSolverCollection
on:
push:
branches:
- '**'
pull_request:
branches:
- '**'
schedule:
- cron: '0 0 * * 0'
jobs:
clang-format:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository code
uses: actions/checkout@v3
- name: Install clang-format-14
run: |
sudo apt-get -qq update
sudo apt-get -qq install clang-format-14
- name: Run clang-format-check
run: |
./.clang-format-check.sh
build-and-test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-24.04]
build-type: [Debug, RelWithDebInfo]
standalone: [standalone, colcon]
solvers-from-source: [SolversFromSource, SolversFromAPT]
runs-on: ${{ matrix.os }}
steps:
- name: Set environment variables
run: |
set -e
set -x
echo "LD_LIBRARY_PATH=/opt/blasfeo/lib:/opt/hpipm/lib:/usr/local/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV # for HPIPM
if [ "${{ matrix.os }}" == "ubuntu-22.04" ] && \
[ "${{ matrix.build-type }}" == "RelWithDebInfo" ] && \
[ "${{ matrix.standalone }}" == "colcon" ] && \
[ "${{ matrix.solvers-from-source }}" == "SolversFromAPT" ] && \
[ "${{ github.repository_owner }}" == "isri-aist" ] && \
[ "${{ github.ref }}" == "refs/heads/master" ]
then
echo "UPLOAD_DOCUMENTATION=true" >> $GITHUB_ENV
sudo apt-get install -qq doxygen graphviz
else
echo "UPLOAD_DOCUMENTATION=false" >> $GITHUB_ENV
fi
- name: Check secrets
run: |
if test -n "$GITLAB_TOKEN"; then
echo "Install private solvers."
echo "ENABLE_PRIVATE_SOLVERS=ON" >> $GITHUB_ENV
echo "SKIP_PRIVATE_SOLVER_TEST=OFF" >> $GITHUB_ENV
git config --global url."https://m-murooka_at_aist_go_jp:${GITLAB_TOKEN}@gite.lirmm.fr/".insteadOf [email protected]:
else
echo "NOT install private solvers."
echo "ENABLE_PRIVATE_SOLVERS=OFF" >> $GITHUB_ENV
echo "SKIP_PRIVATE_SOLVER_TEST=ON" >> $GITHUB_ENV
fi
env:
GITLAB_TOKEN : ${{ secrets.GITLAB_TOKEN }}
- name: Install ROS2
if: matrix.standalone == 'colcon'
uses: jrl-umi3218/github-actions/install-dependencies@master
with:
ros: |
apt: ros-base
- name: Install solvers via apt (Ubuntu 22)
if: matrix.solvers-from-source == 'SolversFromAPT' && matrix.os == 'ubuntu-22.04'
uses: jrl-umi3218/github-actions/install-dependencies@master
with:
build-type: ${{ matrix.build-type }}
ubuntu: |
apt-mirrors:
mc-rtc:
cloudsmith: mc-rtc/head
apt: libmetis-dev libeigen3-dev libgtest-dev graphviz doxygen libeigen-qld-dev libeigen-quadprog-dev libjrl-qp-dev libqpoases-dev libosqp-eigen-dev libnasoq-dev libhpipm-dev libproxsuite-dev libqpmad-dev
- name: Install solvers via apt (Ubuntu 24)
if: matrix.solvers-from-source == 'SolversFromAPT' && matrix.os == 'ubuntu-24.04'
uses: jrl-umi3218/github-actions/install-dependencies@master
with:
build-type: ${{ matrix.build-type }}
ubuntu: |
apt-mirrors:
mc-rtc:
cloudsmith: mc-rtc/head
apt: libmetis-dev libeigen3-dev libgtest-dev graphviz doxygen libeigen-qld-dev libeigen-quadprog-dev libjrl-qp-dev libqpoases-dev libosqp-eigen-dev libhpipm-dev libproxsuite-dev libqpmad-dev
github: |
- path: isri-aist/nasoq
ref: debian
options: -DNASOQ_BLAS_BACKEND=OpenBLAS -DNASOQ_USE_CLAPACK=ON -DNASOQ_BUILD_CLI=OFF -DNASOQ_BUILD_EXAMPLES=OFF -DNASOQ_BUILD_TESTS=OFF -DNASOQ_BUILD_DOCS=OFF
- name: Install solvers from source
if: matrix.solvers-from-source == 'SolversFromSource'
uses: jrl-umi3218/github-actions/install-dependencies@master
with:
build-type: ${{ matrix.build-type }}
ubuntu: |
apt: libmetis-dev libeigen3-dev libgtest-dev graphviz doxygen
github: |
- path: jrl-umi3218/eigen-qld
options: -DBUILD_TESTING=OFF -DPYTHON_BINDING=OFF -DINSTALL_DOCUMENTATION=OFF
- path: jrl-umi3218/eigen-quadprog
options: -DBUILD_TESTING=OFF -DINSTALL_DOCUMENTATION=OFF
- path: jrl-umi3218/jrl-qp
options: -DBUILD_TESTING=OFF -DBUILD_BENCHMARKS=OFF -DINSTALL_DOCUMENTATION=OFF
- path: coin-or/qpOASES
options: -DBUILD_SHARED_LIBS=ON -DQPOASES_BUILD_EXAMPLES=OFF
- path: osqp/osqp
- path: chuoru/osqp-eigen
- path: isri-aist/nasoq
ref: debian
options: -DNASOQ_BLAS_BACKEND=OpenBLAS -DNASOQ_USE_CLAPACK=ON -DNASOQ_BUILD_CLI=OFF -DNASOQ_BUILD_EXAMPLES=OFF -DNASOQ_BUILD_TESTS=OFF -DNASOQ_BUILD_DOCS=OFF
- path: giaf/blasfeo
options: -DBUILD_SHARED_LIBS=ON -DTARGET=X64_AUTOMATIC -DBLASFEO_EXAMPLES=OFF
- path: giaf/hpipm
options: -DBUILD_SHARED_LIBS=ON -DHPIPM_TESTING=OFF
- path: Simple-Robotics/proxsuite
ref: main
options: -DBUILD_TESTING=OFF -DBUILD_WITH_VECTORIZATION_SUPPORT=OFF
- path: asherikov/qpmad
- name: Install private solvers
if: env.ENABLE_PRIVATE_SOLVERS == 'ON'
uses: jrl-umi3218/github-actions/install-dependencies@master
with:
build-type: ${{ matrix.build-type }}
github: |
- path: [email protected]:multi-contact/eigen-lssol
options: -DBUILD_TESTING=OFF -DPYTHON_BINDING=OFF -DINSTALL_DOCUMENTATION=OFF
- name: Checkout repository code
if: matrix.standalone == 'standalone'
uses: actions/checkout@v3
with:
submodules: recursive
- name: Standalone build
if: matrix.standalone == 'standalone'
uses: jrl-umi3218/github-actions/build-cmake-project@master
with:
build-type: ${{ matrix.build-type }}
options: -DINSTALL_DOCUMENTATION=${{ env.UPLOAD_DOCUMENTATION }} -DDEFAULT_ENABLE_ALL=ON -DENABLE_LSSOL=${{ env.ENABLE_PRIVATE_SOLVERS }} -DSKIP_PRIVATE_SOLVER_TEST=${{ env.SKIP_PRIVATE_SOLVER_TEST }} -DFORCE_ALL_SOLVER_TEST=ON
- name: Colcon build
if: matrix.standalone == 'colcon'
uses: jrl-umi3218/github-actions/build-colcon-project@master
with:
build-type: ${{ matrix.build-type }}
cmake-args: -DUSE_ROS2=ON -DINSTALL_DOCUMENTATION=${{ env.UPLOAD_DOCUMENTATION }} -DDEFAULT_ENABLE_ALL=ON -DENABLE_LSSOL=${{ env.ENABLE_PRIVATE_SOLVERS }} -DSKIP_PRIVATE_SOLVER_TEST=${{ env.SKIP_PRIVATE_SOLVER_TEST }} -DFORCE_ALL_SOLVER_TEST=ON
build-packages: qp_solver_collection
test-packages: qp_solver_collection
- name: Upload documentation
# Only run for one configuration and on origin master branch
if: env.UPLOAD_DOCUMENTATION == 'true'
run: |
set -e
set -x
cd ${GITHUB_WORKSPACE}/colcon_ws/src/${{ github.repository }}
git config --global user.name "Masaki Murooka"
git config --global user.email "[email protected]"
git remote set-url origin "https://mmurooka:${{ secrets.CI_TOKEN }}@github.com/isri-aist/QpSolverCollection"
git fetch --depth=1 origin gh-pages:gh-pages
git checkout --quiet gh-pages
rm -rf doxygen/
cp -r ${GITHUB_WORKSPACE}/colcon_ws/build/qp_solver_collection/doc/html/ doxygen
git add doxygen
git_status=`git status -s`
if test -n "$git_status"; then
git commit --quiet -m "Update Doxygen HTML files from commit ${{ github.sha }}"
git push origin gh-pages
else
echo "Github pages documentation is already up-to-date."
fi