-
Notifications
You must be signed in to change notification settings - Fork 14
151 lines (151 loc) · 4.65 KB
/
Main.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
142
143
144
145
146
147
148
149
150
151
name: Main
on: [push, pull_request]
jobs:
Ubuntu:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Set PATH
run: echo "${HOME}/.local/bin" >> $GITHUB_PATH
- name: Update apt
run: sudo apt update
- name: Install pip dependencies
run: |
sudo apt install python3-setuptools python3-wheel
pip3 install -r requirements.txt
- name: Install apt dependencies
run: sudo apt install -y $(bindep -b testing | tr '\n' ' ')
- name: Install Boost
run: |
wget https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
tar -xf boost_1_80_0.tar.gz
cd boost_1_80_0
./bootstrap.sh --with-python=python3 --prefix=/opt/boost
./b2 -j 2 --with-python --with-graph --with-iostreams --with-test install
- name: Install Graphviz
run: |
sudo apt install librsvg2-dev libpango1.0-dev libperl-dev
wget http://graphviz.gitlab.io/pub/graphviz/stable/SOURCES/graphviz.tar.gz
tar -xf graphviz.tar.gz --one-top-level=graphviz --strip-components=1
cd graphviz
./configure
make -j 2
sudo make install
- name: Bootstrap
run: ./bootstrap.sh
- name: Configure
env:
CXXFLAGS: -Werror
run: |
mkdir build
cd build
cmake ../ -DBUILD_DOC=on -DBUILD_TESTING=on -DBOOST_ROOT=/opt/boost
- name: Build
run: cd build && make -j 2
- name: Install
run: cd build && sudo make install
- name: Build tests
run: cd build && make tests -j 2
- name: Run tests
run: cd build && ctest --output-on-failure -j 2
- name: Run simple test
run: mod -e "smiles('O').print()"
macOS-12:
runs-on: macos-12
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Install Brew dependencies
run: brew bundle
- name: Install pip dependencies
run: pip3 install -r requirements.txt
- name: Set PATH
run: |
/usr/libexec/path_helper | sed -e 's/^PATH="//' -e 's/"; export PATH;//' | tr ":" "\n" | tail -r >> $GITHUB_PATH
python3 -c 'import os,sysconfig;print(sysconfig.get_path("scripts",f"{os.name}_prefix"))' >> $GITHUB_PATH
- name: Bootstrap
run: ./bootstrap.sh
- name: Configure
run: |
mkdir build
cd build
cmake ../ -DBUILD_DOC=on -DBUILD_TESTING=on
- name: Build
run: cd build && make -j 3
- name: Install
run: cd build && sudo make install
- name: Build tests
run: cd build && make tests -j 3
- name: Run tests
run: cd build && ctest --output-on-failure -j 3
- name: Run simple test
run: mod -e "smiles('O').print()"
macOS-13:
runs-on: macos-13
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Install Brew dependencies
run: |
brew bundle
/usr/libexec/path_helper | sed -e 's/^PATH="//' -e 's/"; export PATH;//' | tr ":" "\n" | tail -r >> $GITHUB_PATH
- name: Install pip dependencies
run: pip3 install -r requirements.txt
- name: Bootstrap
run: ./bootstrap.sh
- name: Configure
run: |
mkdir build
cd build
cmake ../ -DBUILD_DOC=on -DBUILD_TESTING=on
- name: Build
run: cd build && make -j 4
- name: Install
run: cd build && sudo make install
- name: Build tests
run: cd build && make tests -j 4
- name: Run tests
run: cd build && ctest --output-on-failure -j 4
- name: Run simple test
run: mod -e "smiles('O').print()"
macOS-14:
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Install Brew dependencies
run: |
brew bundle
/usr/libexec/path_helper | sed -e 's/^PATH="//' -e 's/"; export PATH;//' | tr ":" "\n" | tail -r >> $GITHUB_PATH
- name: Install pip dependencies
run: pip3 install -r requirements.txt
- name: Bootstrap
run: ./bootstrap.sh
- name: Configure
run: |
mkdir build
cd build
cmake ../ -DBUILD_DOC=on -DBUILD_TESTING=on
- name: Build
run: cd build && make -j 3
- name: Install
run: cd build && sudo make install
- name: Build tests
run: cd build && make tests -j 3
- name: Run tests
run: cd build && ctest --output-on-failure -j 3
- name: Run simple test
run: mod -e "smiles('O').print()"