-
Notifications
You must be signed in to change notification settings - Fork 3
133 lines (110 loc) · 4.15 KB
/
all-models-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
name: Build Sundials and Models
on:
workflow_dispatch:
push:
branches:
- main
jobs:
build-all:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.8"
- name: Install General Dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake g++ make libopenmpi-dev
# Installs CMake, G++, Make, and OpenMPI
- name: Install SWIG
run: sudo apt-get install -y swig
- name: Install OpenMP
run: sudo apt-get install -y libomp-dev
# This installs the OpenMP library
- name: Install CUDA Toolkit
uses: Jimver/cuda-toolkit@v0.2.14
id: cuda-toolkit
with:
cuda: "12.0.0"
use-github-cache: false
- name: Check NVCC Version
run: nvcc -V
- name: Download Sundials
run: |
wget https://github.com/LLNL/sundials/releases/download/v6.7.0/sundials-6.7.0.tar.gz -O sundials-6.7.0.tar.gz
tar -xzvf sundials-6.7.0.tar.gz
- name: Build Sundials
run: |
mkdir -p sundials-build
cd sundials-build
cmake ../sundials-6.7.0 -DBUILD_SHARED_LIBS=ON -DEXAMPLES_INSTALL_PATH=${GITHUB_WORKSPACE}/sundials-examples
make
sudo make install
- name: Build 11DOF
run: |
cd ${GITHUB_WORKSPACE}/wheeled_vehicle_models/11dof/
mkdir -p build
cd build
cmake ../ -DBUILD_PYTHON_MODULE=ON -DCMAKE_BUILD_TYPE=Release -DUSE_OPENMP=ON -USE_SUNDIALS=ON -DSUNDIALS_DIR=${GITHUB_WORKSPACE}/sundials-build
make
- name: Set PYTHONPATH
run: echo "PYTHONPATH=${{ github.workspace }}/wheeled_vehicle_models/11dof/build:$PYTHONPATH" >> $GITHUB_ENV
- name: Import 11dof Python Module
run: python -c "import pydof11 as dof11"
- name: Build 18DOF
run: |
cd ${GITHUB_WORKSPACE}/wheeled_vehicle_models/18dof/
mkdir -p build
cd build
cmake ../ -DBUILD_PYTHON_MODULE=ON -DCMAKE_BUILD_TYPE=Release -DUSE_OPENMP=ON -USE_SUNDIALS=ON -DSUNDIALS_DIR=${GITHUB_WORKSPACE}/sundials-build
make
- name: Set PYTHONPATH
run: echo "PYTHONPATH=${{ github.workspace }}/wheeled_vehicle_models/18dof/build:$PYTHONPATH" >> $GITHUB_ENV
- name: Import 18dof Python Module
run: python -c "import pydof18 as dof18"
- name: Build 24DOF
run: |
cd ${GITHUB_WORKSPACE}/wheeled_vehicle_models/24dof/
mkdir -p build
cd build
cmake ../ -DBUILD_PYTHON_MODULE=ON -DCMAKE_BUILD_TYPE=Release -DUSE_OPENMP=ON -USE_SUNDIALS=ON -DSUNDIALS_DIR=${GITHUB_WORKSPACE}/sundials-build
make
- name: Set PYTHONPATH
run: echo "PYTHONPATH=${{ github.workspace }}/wheeled_vehicle_models/24dof/build:$PYTHONPATH" >> $GITHUB_ENV
- name: Import 24dof Python Module
run: python -c "import pydof24 as dof24"
- name: Build 11dof-gpu
run: |
cd ${GITHUB_WORKSPACE}/wheeled_vehicle_models/11dof-gpu/
mkdir -p build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_ARCHITECTURES=52
make
- name: Build 18dof-gpu
run: |
cd ${GITHUB_WORKSPACE}/wheeled_vehicle_models/18dof-gpu/
mkdir -p build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_ARCHITECTURES=52
make
- name: Build 24dof-gpu
run: |
cd ${GITHUB_WORKSPACE}/wheeled_vehicle_models/24dof-gpu/
mkdir -p build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_ARCHITECTURES=52
make
- name: Build Tests
run: |
cd ${GITHUB_WORKSPACE}/wheeled_vehicle_models/tests
mkdir -p build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DINSTALL_GTEST=ON -DBUILD_GPU_TESTS=OFF
make
- name: Run Tests
run: |
cd ${GITHUB_WORKSPACE}/wheeled_vehicle_models/tests/build
ctest --output-on-failure