Skip to content

Commit d1ebe01

Browse files
committed
Add initial GitHub Actions to build against Bandicoot and run the tests.
1 parent 81affe2 commit d1ebe01

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Build and Test
2+
on: [push, pull_request]
3+
4+
jobs:
5+
build:
6+
name: ${{ matrix.config.name }}
7+
runs-on: ${{ matrix.config.os }}
8+
outputs:
9+
tag: ${{ steps.git.outputs.tag }}
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
config:
14+
- { name: 'CUDA', os: self-hosted}
15+
- { name: 'OpenCL', os: self-hosted}
16+
steps:
17+
- uses: actions/checkout@v4
18+
- name: Install Dependencies
19+
run: |
20+
21+
git clone --depth 1 --branch 2.1.1 https://gitlab.com/bandicoot-lib/bandicoot-code.git
22+
cd bandicoot-code/
23+
mkdir build/
24+
cd build/
25+
26+
if [[ "${{ matrix.config.name }}" == "CUDA" ]]; then
27+
echo "Installing Bandicoot CUDA"
28+
cmake -DFIND_CUDA=ON -DFIND_OPENCL=OFF -DBUILD_TESTS=OFF ../
29+
elif [[ "${{ matrix.config.name }}" == "OpenCL" ]]; then
30+
echo "Installing Bandicoot OpenCL"
31+
cmake -DFIND_CUDA=OFF -DFIND_OPENCL=ON -DBUILD_TESTS=OFF ../
32+
fi
33+
34+
make -j2
35+
36+
- name: Build ensmallen
37+
run: |
38+
mkdir build
39+
cd build/
40+
41+
cmake -DBANDICOOT_INCLUDE_DIR=../bandicoot-code/include/ -DBANDICOOT_LIBRARY=../bandicoot-code/build/ ..
42+
make ensmallen_tests
43+
44+
- name: Build ensmallen
45+
run: |
46+
cd build/
47+
if [[ "${{ matrix.config.name }}" == "CUDA" ]]; then
48+
COOT_DEFAULT_BACKEND=CUDA_BACKEND ./ensmallen_tests
49+
elif [[ "${{ matrix.config.name }}" == "OpenCL" ]]; then
50+
COOT_DEFAULT_BACKEND=CL_BACKEND ./ensmallen_tests
51+
fi

0 commit comments

Comments
 (0)