-
Notifications
You must be signed in to change notification settings - Fork 15
58 lines (49 loc) · 1.99 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
# Workflow name
name: Build Xmipp
# Specify when the Action should be triggered: when a pull request is opened against the 'devel' or 'master' branch
on:
pull_request:
branches: [devel, master]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-22.04
env:
SEND_INSTALLATION_STATISTICS: "False"
steps:
# Installing apt dependencies
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libfftw3-dev libopenmpi-dev libhdf5-dev libtiff5-dev python3-numpy python3-dev libsqlite3-dev default-jdk git cmake libopencv-dev openmpi-bin
# Setting up Python
- uses: actions/setup-python@main
with:
python-version: '3.9.15' # Version range or exact version of a Python version to use, using SemVer's version range syntax
# Installing Python dependencies
- name: Install python dependencies
run: |
python -m pip install --upgrade pip
pip install scons numpy
# Installing CUDA
- uses: Jimver/cuda-toolkit@master
id: cuda-toolkit
with:
cuda: '11.8.0'
method: network
sub-packages: '["nvcc", "toolkit"]'
# Using CCache to speed C/C++ compilation
- uses: hendrikmuhs/ccache-action@main
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@main
with:
fetch-depth: 0
# Compiling Xmipp in the Pull Request branch
- name: Compile Xmipp will all dependencies in branch ${{ github.head_ref }} (if such branch exists, default is devel)
env:
BRANCH_NAME: ${{ github.head_ref }}
CIBuild: 1
BUILD_TESTS: True
run: ./xmipp all br=$BRANCH_NAME noAsk || (cat compileLOG.txt && false)