-
Notifications
You must be signed in to change notification settings - Fork 193
141 lines (113 loc) · 3.6 KB
/
sequential.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
134
135
136
137
138
139
140
141
name: Sequential version
on:
push:
branches:
- develop
- master
pull_request:
branches:
- develop
# For development phase
# on:
# workflow_dispatch:
jobs:
linux:
strategy:
fail-fast: false
matrix:
version: [22.04, 24.04]
cfg:
- {opts: --enable-debug}
- {opts: --enable-optim --enable-generic}
name: Ubuntu ${{ matrix.version }} with ${{ matrix.cfg.opts }} - ${{ github.workflow }}
runs-on: ubuntu-${{ matrix.version }}
steps:
- uses: actions/checkout@main
- name: Install
run: |
sudo apt update
sudo apt install gcc g++ gfortran m4 patch \
git libblas-dev liblapack-dev libhdf5-dev libgsl-dev flex bison \
wget cmake autoconf automake autotools-dev
- name: Configure
run: |
autoreconf -i
./configure --enable-download --without-mpi ${{ matrix.cfg.opts }} --prefix="${HOME}/freefem"
./3rdparty/getall -a -o ARPACK,METIS,Scotch,SuiteSparse,SuperLU,mmg,bemtool,Boost,libpthread-google,TetGen,Ipopt,NLopt,freeYams,FFTW,Gmm++,MMG3D,mshmet,htool
- name: Build
run: make -j 4
- name: Check
run: make check
- name: Install
run: make install
macos:
strategy:
fail-fast: false
matrix:
version: [13, 14, 15]
cfg:
- {opts: --enable-debug}
- {opts: --enable-optim --enable-generic}
name: MacOS ${{ matrix.version }} with ${{ matrix.cfg.opts }} - ${{ github.worflow }}
runs-on: macos-${{ matrix.version }}
steps:
- uses: actions/checkout@main
- name: Install
run: brew install gcc m4 git flex bison suitesparse hdf5 cmake wget autoconf automake
- name: Symlink GCC & Fortran
run: ./etc/actions/macos/link_fortran.sh "$(uname -p)"
- name: Configure
run: |
autoreconf -i
./configure --enable-download --without-mpi ${{ matrix.cfg.opts }} --prefix="${HOME}/freefem"
./3rdparty/getall -a -o ARPACK,METIS,Scotch,SuiteSparse,SuperLU,mmg,bemtool,Boost,libpthread-google,TetGen,Ipopt,NLopt,freeYams,FFTW,Gmm++,MMG3D,mshmet,htool
- name: Build
run: make -j 3
- name: Check
run: make check
- name: Install
run: make install
windows:
strategy:
fail-fast: false
matrix:
cfg:
- {opts: --enable-debug}
- {opts: --enable-optim --enable-generic}
name: Windows Server 2022 with ${{ matrix.cfg.opts }} - ${{github.workflow}}
runs-on: windows-2022
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
with:
update: true
install: >-
mingw-w64-x86_64-gcc-fortran
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-autotools
make
m4
patch
git
flex
bison
unzip
mingw-w64-x86_64-openblas
mingw-w64-x86_64-hdf5
mingw-w64-x86_64-gsl
pkg-config
pkgfile
tar
mingw-w64-x86_64-cmake
- uses: actions/checkout@v4
- name: Configure
run: |
autoreconf -i
./configure --enable-download --without-mpi ${{ matrix.cfg.opts }} --prefix="${HOME}/freefem"
./3rdparty/getall -a -o ARPACK,METIS,Scotch,SuiteSparse,SuperLU,mmg,bemtool,Boost,libpthread-google,TetGen,Ipopt,NLopt,freeYams,FFTW,Gmm++,MMG3D,mshmet,htool
- name: Build
run: make -j 4
- name: Check
run: make check