-
Notifications
You must be signed in to change notification settings - Fork 23
131 lines (125 loc) · 4.04 KB
/
Build.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
name: Build
on: [push, pull_request]
jobs:
build-ubuntu-18:
runs-on: ubuntu-18.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install dependencies
shell: bash
run: |
sudo apt update
sudo apt-get install openmpi-bin libopenmpi-dev libglu1-mesa-dev libxt-dev libxi-dev libglew-dev libxmu-dev zip
- name: Build
shell: bash
run: |
mkdir Build
cd Build
cmake ..
make -j2
- name: Create installer
shell: bash
run: |
cd Build/svSolver-build
cmake . -DSV_ENABLE_DISTRIBUTION=ON
cpack
cp svsolver*.deb ../../svSolver-Ubuntu-18.deb
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: Ubuntu 18 Installer
path: svSolver-Ubuntu-18.deb
if-no-files-found: error
- name: Upload release asset
if: startsWith(github.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: svSolver-Ubuntu-18.deb
asset_name: svSolver-${{github.ref_name}}-Ubuntu-18.deb
tag: ${{ github.ref }}
build-ubuntu-20:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install dependencies
shell: bash
run: |
sudo apt update
sudo apt-get install gcc-8 g++-8 libvtk7-dev openmpi-bin libopenmpi-dev libglu1-mesa-dev libxt-dev libxi-dev libglew-dev libxmu-dev zip
- name: Build
shell: bash
run: |
export CC=/usr/bin/gcc-8
export CXX=/usr/bin/g++-8
mkdir Build
cd Build
cmake .. -DSV_USE_LOCAL_VTK=ON
make -j2
- name: Create installer
shell: bash
run: |
cd Build/svSolver-build
cmake . -DSV_ENABLE_DISTRIBUTION=ON
cpack
cp svsolver*.deb ../../svSolver-Ubuntu-20.deb
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: Ubuntu 20 Installer
path: svSolver-Ubuntu-20.deb
if-no-files-found: error
- name: Upload release asset
if: startsWith(github.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: svSolver-Ubuntu-20.deb
asset_name: svSolver-${{github.ref_name}}-Ubuntu-20.deb
tag: ${{ github.ref }}
build-macos-big-sur:
runs-on: macos-11
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install dependencies
shell: bash
run: |
sudo ln -s /usr/local/bin/gfortran-11 /usr/local/bin/gfortran
sudo mkdir /usr/local/gfortran
sudo ln -s /usr/local/Cellar/gcc@11/*/lib/gcc/11 /usr/local/gfortran/lib
gfortran --version
brew install open-mpi
- name: Build
shell: bash
run: |
export TERM=xterm-256color
export CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
mkdir Build
cd Build
cmake ..
make -j3
- name: Create installer
shell: bash
run: |
cd Build/svSolver-build
cmake . -DSV_ENABLE_DISTRIBUTION=ON
make
cpack
cp svsolver*.pkg ../../svSolver-macOS-BigSur.pkg
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: macOS BigSur Installer
path: svSolver-macOS-BigSur.pkg
if-no-files-found: error
- name: Upload release asset
if: startsWith(github.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: svSolver-macOS-BigSur.pkg
asset_name: svSolver-${{github.ref_name}}-macOS-BigSur.pkg
tag: ${{ github.ref }}