@@ -12,24 +12,27 @@ concurrency:
12
12
13
13
jobs :
14
14
build :
15
- name : ${{ matrix.compiler }}
16
- runs-on : ubuntu-latest
15
+ name : ${{ matrix.name }}
16
+ runs-on : ${{ matrix.os }}
17
17
strategy :
18
18
fail-fast : false
19
19
matrix :
20
- compiler : [gcc, clang]
20
+ include :
21
+ - name : ubu22-gcc
22
+ os : ubuntu-22.04
23
+ compiler : gcc
21
24
22
25
steps :
23
26
- uses : actions/checkout@v4
24
27
25
28
- name : Set up Python
26
29
uses : actions/setup-python@v5
27
30
with :
28
- python-version : 3.11
31
+ python-version : 3.9
29
32
30
33
- name : Install dependencies
31
34
run : |
32
- sudo apt-get update
35
+ # sudo apt-get update
33
36
if [ "${{ matrix.compiler }}" = "gcc" ]; then
34
37
sudo apt-get install -y gcc g++ cmake make
35
38
echo "CC=gcc" >> $GITHUB_ENV
39
42
echo "CC=clang" >> $GITHUB_ENV
40
43
echo "CXX=clang++" >> $GITHUB_ENV
41
44
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 }}
42
84
43
85
- name : Configure project
44
86
run : |
51
93
- name : Run tests
52
94
run : |
53
95
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