Merge branch 'master' of https://github.com/acados/acados #20
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: 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; |