-
Notifications
You must be signed in to change notification settings - Fork 15
136 lines (124 loc) · 3.75 KB
/
standalone.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
name: standalone
on:
push:
branches:
- master
pull_request:
types: [opened, synchronize, reopened]
jobs:
build:
name: GALAHAD/${{ matrix.os }}/${{ matrix.compiler }}/${{ matrix.compiler_version }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
compiler_version: [10, 11, 12]
include:
- compiler: gnu
cc_cmd: gcc
fc_cmd: gfortran
cxx_cmd: g++
- os: macos-latest
compiler: clang
compiler_version: 14
cc_cmd: clang
fc_cmd: gfortran-13
cxx_cmd: clang++
- os: ubuntu-latest
compiler: intel
compiler_version: 2021.9
cc_cmd: icc
fc_cmd: ifort
cxx_cmd: icpc
- os: macos-latest
compiler: intel
compiler_version: 2021.9
cc_cmd: icc
fc_cmd: ifort
cxx_cmd: icpc
- os: ubuntu-latest
compiler: intel-llvm
compiler_version: 2023.1
cc_cmd: icx
fc_cmd: ifort
cxx_cmd: icpx
allow_failure: true
runs-on: ${{ matrix.os }}
steps:
- name: Check out GALAHAD
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install Meson and Ninja
run: pip install meson ninja
- name: Set environment variables
shell: bash
run: |
echo "GALAHAD=$GITHUB_WORKSPACE" >> $GITHUB_ENV
echo "OMP_CANCELLATION=TRUE" >> $GITHUB_ENV
echo "OMP_NESTED=TRUE" >> $GITHUB_ENV
echo "OMP_PROC_BIND=TRUE" >> $GITHUB_ENV
- name: Install GNU compilers
if: matrix.compiler == 'gnu'
uses: awvwgk/setup-fortran@main
with:
compiler: gcc
version: ${{ matrix.compiler_version }}
- name: Install gfortran / OpenMP for the build on Mac with Clang compilers
if: matrix.compiler == 'clang'
shell: bash
run: |
brew install gfortran llvm libomp
- name: Install classic Intel compilers
if: matrix.compiler == 'intel'
uses: awvwgk/setup-fortran@main
with:
compiler: intel-classic
version: ${{ matrix.compiler_version }}
- name: Install nextgen Intel compilers
if: matrix.compiler == 'intel-llvm'
uses: awvwgk/setup-fortran@main
with:
compiler: intel
version: ${{ matrix.compiler_version }}
- name: Setup GALAHAD
shell: bash
run: |
meson setup builddir --prefix=$GITHUB_WORKSPACE/galahad
env:
CC: ${{ matrix.cc_cmd }}
FC: ${{ matrix.fc_cmd }}
CXX: ${{ matrix.cxx_cmd }}
# Uncomment this section to obtain ssh access to VM
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
#
- name: Build GALAHAD
shell: bash
run: |
meson compile -C builddir
- uses: actions/upload-artifact@v3
if: failure()
with:
name: ${{ matrix.os }}_meson_log
path: builddir/meson-logs/testlog.txt
- name: Install GALAHAD
shell: bash
run: |
meson install -C builddir
- uses: actions/upload-artifact@v3
if: failure()
with:
name: ${{ matrix.os }}_meson_log
path: builddir/meson-logs/testlog.txt
- name: Test GALAHAD
shell: bash
run: |
meson test -C builddir
- uses: actions/upload-artifact@v3
if: failure()
with:
name: ${{ matrix.os }}_meson_log
path: builddir/meson-logs/testlog.txt