@@ -12,24 +12,27 @@ concurrency:
1212
1313jobs :
1414 build :
15- name : ${{ matrix.compiler }}
16- runs-on : ubuntu-latest
15+ name : ${{ matrix.name }}
16+ runs-on : ${{ matrix.os }}
1717 strategy :
1818 fail-fast : false
1919 matrix :
20- compiler : [gcc, clang]
20+ include :
21+ - name : ubu22-gcc
22+ os : ubuntu-22.04
23+ compiler : gcc
2124
2225 steps :
2326 - uses : actions/checkout@v4
2427
2528 - name : Set up Python
2629 uses : actions/setup-python@v5
2730 with :
28- python-version : 3.11
31+ python-version : 3.9
2932
3033 - name : Install dependencies
3134 run : |
32- sudo apt-get update
35+ # sudo apt-get update
3336 if [ "${{ matrix.compiler }}" = "gcc" ]; then
3437 sudo apt-get install -y gcc g++ cmake make
3538 echo "CC=gcc" >> $GITHUB_ENV
3942 echo "CC=clang" >> $GITHUB_ENV
4043 echo "CXX=clang++" >> $GITHUB_ENV
4144 fi
45+ sudo apt-get install curl freeglut3-dev g++ gcc git libblas-dev libbz2-dev liblapack-dev libnuma-dev libomp5 libomp-dev libopenmpi-dev libpthread-stubs0-dev make wget zlib1g-dev python3-dev libbz2-dev libffi-dev liblzma-dev libreadline-dev libsqlite3-dev libssl-dev python3-openssl tk-dev xz-utils zlib1g-dev
46+
47+ - name : Cache Third Party Packages
48+ uses : actions/cache@v4
49+ with :
50+ path : build/third_party
51+ key : ${{ matrix.os }}-third-party-${{ hashFiles('cmake/external/SHA256Digests.cmake') }}
52+
53+ - name : Restore BDM Cache
54+ uses : actions/cache/restore@v4
55+ id : cache
56+ with :
57+ path : |
58+ biodynamo
59+ key : ${{ matrix.os }}-bdm
60+
61+ - name : Build BDM if Cache is not found
62+ if : ${{ steps.cache.outputs.cache-hit != 'true' }}
63+ run : |
64+ git clone --depth=1 https://github.com/vgvassilev/biodynamo.git
65+ cd biodynamo
66+ cmake \
67+ -DNOPYENV=YES \
68+ -Dnotebooks=OFF \
69+ -Dparaview=OFF \
70+ -Dbenchmark=ON \
71+ -Dlibgit2=ON \
72+ -Dsbml=OFF \
73+ -DCMAKE_BUILD_TYPE=Release \
74+ -B build
75+ cmake --build build --config Release
76+ cd ..
77+ - name : Save Cache BDM
78+ uses : actions/cache/save@v4
79+ if : ${{ steps.cache.outputs.cache-hit != 'true' }}
80+ with :
81+ path : |
82+ biodynamo
83+ key : ${{ steps.cache.outputs.cache-primary-key }}
4284
4385 - name : Configure project
4486 run : |
5193 - name : Run tests
5294 run : |
5395 ctest --test-dir build --output-on-failure
96+
97+ - name : Setup tmate session
98+ if : ${{ !cancelled() && runner.debug }}
99+ uses : mxschmitt/action-tmate@v3
100+ # When debugging increase to a suitable value!
101+ timeout-minutes : 30
0 commit comments