Skip to content

Merge branch 'master' of https://github.com/acados/acados #20

Merge branch 'master' of https://github.com/acados/acados

Merge branch 'master' of https://github.com/acados/acados #20

Workflow file for this run

name: Test Full Build Linux
on:
push:
branches-ignore:
- 'doc*'
- 'wip*'
pull_request:
branches:
- '*'
env:
BUILD_TYPE: Release
ACADOS_PYTHON: ON
ACADOS_OCTAVE: ON
ACADOS_WITH_OSQP: ON
ACADOS_WITH_QPOASES: ON
ACADOS_WITH_DAQP: ON
ACADOS_WITH_QPDUNES: OFF
ACADOS_ON_CI: ON
jobs:
core_build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Create Build Environment
working-directory: ${{runner.workspace}}
run: cmake -E make_directory ${{runner.workspace}}/acados/build
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/acados/build
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DACADOS_WITH_QPOASES=$ACADOS_WITH_QPOASES -DACADOS_WITH_DAQP=$ACADOS_WITH_DAQP -DACADOS_WITH_QPDUNES=$ACADOS_WITH_QPDUNES -DACADOS_WITH_OSQP=$ACADOS_WITH_OSQP -DACADOS_PYTHON=$ACADOS_PYTHON -DACADOS_OCTAVE=OFF
- name: Build & Install
working-directory: ${{runner.workspace}}/acados/build
shell: bash
run: |
cmake --build . --config $BUILD_TYPE
make install -j4
- name: Store shared libs (/lib)
uses: actions/upload-artifact@v4
with:
name: lib
if-no-files-found: error
path: ${{runner.workspace}}/acados/lib/
compression-level: 0
overwrite: true
- name: Store build scripts (/build)
uses: actions/upload-artifact@v4
with:
name: build
if-no-files-found: error
path: |
${{runner.workspace}}/acados/build/
!${{runner.workspace}}/**/*.dir
compression-level: 0
overwrite: true
# exclude object files in .dir directories
- name: Store include directory (/include)
uses: actions/upload-artifact@v4
with:
name: include
if-no-files-found: error
path: ${{runner.workspace}}/acados/include/
compression-level: 0
overwrite: true
python_interface:
needs: core_build
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: actions/download-artifact@v4
with:
path: ${{runner.workspace}}/acados
- name: Export Paths
working-directory: ${{runner.workspace}}/acados
shell: bash
run: |
${{runner.workspace}}/acados/.github/linux/export_paths.sh'' ${{runner.workspace}}
- name: Install Python interface
working-directory: ${{runner.workspace}}/acados
shell: bash
run: ${{runner.workspace}}/acados/.github/linux/install_python.sh''
- name: Run CMake python tests (ctest)
working-directory: ${{runner.workspace}}/acados/build
shell: bash
run: |
source ${{runner.workspace}}/acados/acadosenv/bin/activate
ctest -C $BUILD_TYPE --output-on-failure -j 4 --parallel 4;
MATLAB_interface:
needs: core_build
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: actions/download-artifact@v4
with:
path: ${{runner.workspace}}/acados
- name: Install Casadi MATLAB
working-directory: ${{runner.workspace}}/acados/external
shell: bash
run: |
${{runner.workspace}}/acados/.github/linux/install_casadi_matlab.sh
- name: Export Paths
working-directory: ${{runner.workspace}}/acados
shell: bash
run: |
${{runner.workspace}}/acados/.github/linux/export_paths.sh'' ${{runner.workspace}}
- name: Install MATLAB
uses: matlab-actions/setup-matlab@v2
if: always()
with:
release: R2021a
cache: true
# just needed for blasfeo_target.h
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/acados/build
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DACADOS_WITH_QPOASES=$ACADOS_WITH_QPOASES -DACADOS_WITH_DAQP=$ACADOS_WITH_DAQP -DACADOS_WITH_QPDUNES=$ACADOS_WITH_QPDUNES -DACADOS_WITH_OSQP=$ACADOS_WITH_OSQP -DACADOS_PYTHON=OFF -DACADOS_OCTAVE=OFF
- name: Matlab test native MEX
uses: matlab-actions/run-command@v2
if: always()
with:
command: cd ${{runner.workspace}}/acados/examples/acados_matlab_octave/test; run_matlab_tests
simulink_interface:
needs: core_build
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: actions/download-artifact@v4
with:
path: ${{runner.workspace}}/acados
- name: Install Casadi MATLAB
working-directory: ${{runner.workspace}}/acados/external
shell: bash
run: |
${{runner.workspace}}/acados/.github/linux/install_casadi_matlab.sh
- name: Export Paths
working-directory: ${{runner.workspace}}/acados
shell: bash
run: |
${{runner.workspace}}/acados/.github/linux/export_paths.sh'' ${{runner.workspace}}
- name: Install MATLAB
uses: matlab-actions/setup-matlab@v2
if: always()
with:
release: R2021a
products: Simulink Simulink_Test
cache: true
# just needed for blasfeo_target.h
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/acados/build
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DACADOS_WITH_QPOASES=$ACADOS_WITH_QPOASES -DACADOS_WITH_DAQP=$ACADOS_WITH_DAQP -DACADOS_WITH_QPDUNES=$ACADOS_WITH_QPDUNES -DACADOS_WITH_OSQP=$ACADOS_WITH_OSQP -DACADOS_PYTHON=OFF -DACADOS_OCTAVE=OFF
- name: Run Simulink test
uses: matlab-actions/run-command@v2
if: always()
with:
command: cd ${{runner.workspace}}/acados/examples/acados_matlab_octave/test; simulink_test
octave_interface:
needs: core_build
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: actions/download-artifact@v4
with:
path: ${{runner.workspace}}/acados
- name: Prepare Octave
working-directory: ${{runner.workspace}}/acados/external
shell: bash
run: |
sudo apt-get update
sudo apt-get install liboctave-dev -y --fix-missing
octave --version
${{runner.workspace}}/acados/.github/linux/install_casadi_octave.sh
- name: Export Paths
working-directory: ${{runner.workspace}}/acados
shell: bash
run: |
${{runner.workspace}}/acados/.github/linux/export_paths.sh'' ${{runner.workspace}}
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/acados/build
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DACADOS_WITH_QPOASES=$ACADOS_WITH_QPOASES -DACADOS_WITH_DAQP=$ACADOS_WITH_DAQP -DACADOS_WITH_QPDUNES=$ACADOS_WITH_QPDUNES -DACADOS_WITH_OSQP=$ACADOS_WITH_OSQP -DACADOS_PYTHON=OFF -DACADOS_OCTAVE=$ACADOS_OCTAVE
- name: Run CMake Octave tests (ctest)
working-directory: ${{runner.workspace}}/acados/build
shell: bash
run: ctest -C $BUILD_TYPE --output-on-failure -j 4 --parallel 4;