-
Notifications
You must be signed in to change notification settings - Fork 11
87 lines (73 loc) · 2.06 KB
/
ci.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
name: CI
on:
push:
branches: [ v2.x ]
pull_request:
branches: [ v2.x ]
schedule:
# Run every Sunday at midnight
- cron: '0 0 * * 0'
defaults:
run:
shell: bash -l {0}
jobs:
build:
name: ${{ matrix.name }}
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
# Oldest supported versions
- name: Linux (CUDA 10.2)
cuda: "10.2.89"
gcc: "8.5.*"
nvcc: "10.2"
# Latest supported versions
- name: Linux (CUDA 11.8)
cuda: "11.8.0"
gcc: "10.3.*"
nvcc: "11.8"
steps:
- name: Check out
uses: actions/checkout@v2
- name: Install Mamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: false
extra-specs: ""
cache-env: true
cache-downloads: true
- name: Install CUDA Toolkit
uses: Jimver/[email protected]
with:
cuda: ${{ matrix.cuda }}
linux-local-args: '["--toolkit", "--override"]'
- name: Prepare dependencies
run: |
sed -i -e "/cudatoolkit/c\ - cudatoolkit ${{ matrix.cuda }}" \
-e "/gxx_linux-64/c\ - gxx_linux-64 ${{ matrix.gcc }}" \
-e "/nvcc_linux-64/c\ - nvcc_linux-64 ${{ matrix.nvcc }}" \
environment.yml
- name: Show dependency file
run: cat environment.yml
- name: Install dependencies
run: micromamba env create -n uammd -f environment.yml
env:
CONDA_OVERRIDE_CUDA: ${{ matrix.nvcc }}
- name: List environment
run: |
micromamba activate uammd
micromamba list
- name: Configure and compile examples
run: |
micromamba activate uammd
mkdir examples/build && cd examples/build
cmake -DCMAKE_VERBOSE_MAKEFILE=yes ..
make -j3
- name: Configure and compile tests
run: |
micromamba activate uammd
mkdir test/build && cd test/build
cmake -DCMAKE_VERBOSE_MAKEFILE=yes ..
make -j3