forked from pemsley/coot
-
Notifications
You must be signed in to change notification settings - Fork 0
134 lines (105 loc) · 4.42 KB
/
build-coot-ubuntu.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
name: Coot CI Ubuntu
on:
push:
workflow_dispatch:
jobs:
build-ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: wget test data
run: wget -nv https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/data/greg-data.tar.gz
- name: Untar test data
run: cd src && tar xf ../greg-data.tar.gz && cd -
- name: cache test data
id: cache-coot-test-data
uses: actions/cache@v4
with:
path: src/greg-data
key: coot-test-data
- name: Cache coot dependencies
id: cache-coot-dependencies
uses: actions/cache@v4
with:
path: /home/runner/install/coot-Linux-ubuntu-gtk4
key: coot-deps-ubuntu
- name: Cache gemmi source
id: Cache-gemmi-source
uses: actions/cache@v4
with:
path: gemmi
key: coot-build-ubuntu-gemmi-cache-source
- name: Cache gemmi build
id: Cache-gemmi-build
uses: actions/cache@v4
with:
path: build-gemmi
key: coot-build-ubuntu-gemmi-cache-build
- name: List any installed Coot libs
run: ls -l /home/runner/install/coot-Linux-ubuntu-gtk4/lib/libcoot* /home/runner/install/coot-Linux-ubuntu-gtk4/lib/libMoleculesToTrianglesCXXClasses*
- name: Delete any installed Coot libs
run: rm /home/runner/install/coot-Linux-ubuntu-gtk4/lib/libcoot* /home/runner/install/coot-Linux-ubuntu-gtk4/lib/libMoleculesToTrianglesCXXClasses*
- name: download the monomer library
run: wget -nv https://github.com/MonomerLibrary/monomers/archive/refs/tags/ccp4-8.0.016.tar.gz
# note that the data directory exists in the coot repo (which is where we are)
- name: untar the monomer library
run: pwd && cd data && tar xf ../ccp4-8.0.016.tar.gz && ln -s monomers-ccp4-8.0.016 monomers
- name: Update apt-get
run: sudo apt-get update
- name: Install system dependencies
run: sudo apt-get install cmake libdw-dev libncurses5-dev libgtk-4-dev libvorbis-dev libasound2-dev
- name: Where are we?
run: pwd
- name: Run build-with-build-it-3-3
run: bash build-it-3-3 || echo done
- name: Run autogen.sh
run: bash autogen.sh
- name: Set the PATH
# the install dir is set specifically in build-it-3-3 when we in github actions
run: echo /home/runner/install/coot-Linux-ubuntu-gtk4/bin >> $GITHUB_PATH
- name: Run configure
# we echo done so that this returns a success status so that the logs are always uploaded
run: >
./configure --prefix=/home/runner/install/coot-Linux-ubuntu-gtk4
--enable-silent-rules
--with-enhanced-ligand-tools
--with-fftw-prefix=/home/runner/install/coot-Linux-ubuntu-gtk4
--with-boost=/home/runner/install/coot-Linux-ubuntu-gtk4
--with-gemmi=/home/runner/install/coot-Linux-ubuntu-gtk4
--with-boost-libdir=/home/runner/install/coot-Linux-ubuntu-gtk4/lib
--with-backward --with-libdw --with-sound --disable-static
SHELL=/bin/bash
PYTHON=/home/runner/install/coot-Linux-ubuntu-gtk4/bin/python3
PKG_CONFIG_PATH=/home/runner/install/coot-Linux-ubuntu-gtk4/lib64/pkgconfig:/home/runner/install/coot-Linux-ubuntu-gtk4/lib/pkgconfig:/home/runner/install/coot-Linux-ubuntu-gtk4/lib/x86_64-linux-gnu/pkgconfig
|| echo done
- name: Compile with make
run: make -j 4 || echo done
- name: Install with make install
run: make install || echo done
- name: Upload config.log
uses: actions/upload-artifact@v4
with:
name: upload-config-log-package
path: ./config.log
retention-days: 3
- name: Upload build logs
uses: actions/upload-artifact@v4
with:
name: build-logs-public-html-package
path: /home/runner/public_html
retention-days: 3
- name: Does it run?
env:
COOT_REFMAC_LIB_DIR: /home/runner/work/coot/coot # "data/monomers" is added before "a/ATP.cif" (say)
run: cd src && ./Coot --no-graphics < /dev/null && cd -
- name: Run the Unit Python Tests
env:
COOT_REFMAC_LIB_DIR: /home/runner/work/coot/coot
COOT_TEST_DATA_DIR: ../src/greg-data
run: cd python-tests && ../src/Coot --no-graphics --script run_the_unit_tests.py && cd -
- name: Upload binaries
uses: actions/upload-artifact@v4
with:
name: ubuntu-binaries-package
path: /home/runner/install
retention-days: 3