-
Notifications
You must be signed in to change notification settings - Fork 145
129 lines (119 loc) · 3.83 KB
/
test.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
name: Test
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
jobs:
test:
name: ${{ matrix.build }}/${{ matrix.os }}/${{ matrix.mode }}/${{ matrix.auto }}
defaults:
run:
shell: bash -l {0}
strategy:
fail-fast: false
matrix:
build:
- clasp
- cando
os:
- macos-13
- macos-14
- ubuntu-latest
mode:
- faso
- bytecode-faso
- bytecode
auto:
- no
- yes
exclude:
- mode: faso
auto: yes
- build: cando
mode: faso
- build: cando
mode: bytecode
- build: cando
auto: yes
- mode: bytecode-faso
auto: yes
- os: macos-13
mode: faso
- os: macos-13
mode: bytecode
auto: no
- os: macos-14
mode: faso
- os: macos-14
mode: bytecode-faso
- os: macos-14
auto: yes
runs-on: ${{ matrix.os }}
steps:
- name: Install Ubuntu dependencies
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt install -y binutils-gold clang-18 libclang-18-dev libclang-cpp18-dev llvm-18 llvm-18-dev libelf-dev libgmp-dev libunwind-dev ninja-build sbcl libnetcdf-dev libexpat1-dev libfmt-dev libboost-all-dev
- name: Install MacOS dependencies
if: matrix.os == 'macos-13' || matrix.os == 'macos-14'
run: |
brew update
brew upgrade
brew install boost fmt gmp llvm lld ninja pkg-config sbcl netcdf
- name: Checkout repository
uses: actions/checkout@v4
- uses: conda-incubator/[email protected]
if: matrix.build == 'cando'
- name: Install AmberTools
if: matrix.build == 'cando'
run: |
conda install -c conda-forge ambertools
- name: Clasp koga @ Ubuntu
if: ${{ matrix.os == 'ubuntu-latest' && matrix.build == 'clasp' }}
run: |
./koga --build-mode=${{ matrix.mode }}
- name: Cando koga @ Ubuntu
if: ${{ matrix.os == 'ubuntu-latest' && matrix.build == 'cando' }}
run: |
./koga --build-mode=${{ matrix.mode }} --extensions=cando
- name: Clasp koga @ MacOS=13
if: ${{ matrix.os == 'macos-13' && matrix.build == 'clasp' }}
run: |
./koga --build-mode=${{ matrix.mode }}
- name: Clasp koga @ MacOS-14
if: ${{ matrix.os == 'macos-14' && matrix.build == 'clasp' }}
run: |
./koga --build-mode=${{ matrix.mode }} --cflags=-I/opt/homebrew/include --cppflags=-I/opt/homebrew/include --cxxflags=-I/opt/homebrew/include
- name: Cando koga @ MacOS-13
if: ${{ matrix.os == 'macos-13' && matrix.build == 'cando' }}
run: |
./koga --build-mode=${{ matrix.mode }} --extensions=cando
- name: Cando koga @ MacOS-14
if: ${{ matrix.os == 'macos-14' && matrix.build == 'cando' }}
run: |
./koga --build-mode=${{ matrix.mode }} --extensions=cando --cflags=-I/opt/homebrew/include --cppflags=-I/opt/homebrew/include --cxxflags=-I/opt/homebrew/include
- name: Build
run: |
ninja -C build
- name: Run regression tests
if: ${{ matrix.auto == 'no' }}
run: |
ninja -C build test
- name: Run regression tests [auto]
if: ${{ matrix.auto == 'yes' }}
run: |
CLASP_AUTOCOMPILATION=1 ninja -C build test
- name: Run ANSI tests
if: ${{ matrix.build == 'clasp' && matrix.auto == 'no' }}
run: |
ninja -C build ansi-test
- name: Run ANSI tests [auto]
if: ${{ matrix.build == 'clasp' && matrix.auto == 'yes' }}
run: |
CLASP_AUTOCOMPILATION=1 ninja -C build ansi-test
- name: Run Cando regression tests
if: ${{ matrix.build == 'cando' }}
run: |
ninja -C build cando-test