-
Notifications
You must be signed in to change notification settings - Fork 11
80 lines (77 loc) · 2.75 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: CI of eigen-qld
on:
push:
branches:
- '**'
pull_request:
branches:
- '**'
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-latest, windows-latest]
build-type: [Debug, RelWithDebInfo]
compiler: [gcc, clang]
exclude:
# Only default compiler on macos-latest and windows-latest
- os: macos-latest
compiler: clang
- os: windows-latest
compiler: clang
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Install pip for Python 2 (Ubuntu 20.04)
run: |
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
sudo python2 get-pip.py
rm -f get-pip.py
if: matrix.os == 'ubuntu-20.04'
- name: Install dependencies
uses: jrl-umi3218/github-actions/install-dependencies@master
with:
compiler: ${{ matrix.compiler }}
build-type: ${{ matrix.build-type }}
ubuntu: |
apt: cython cython3 python-pytest python3-pytest python-numpy python3-numpy python-coverage python3-coverage python-setuptools python3-setuptools libeigen3-dev doxygen doxygen-latex libboost-all-dev
github:
- path: jrl-umi3218/Eigen3ToPython
macos: |
cask: gfortran
brew: eigen boost
pip: Cython coverage pytest numpy
github:
- path: jrl-umi3218/Eigen3ToPython
windows: |
pip: Cython coverage pytest numpy
github:
- path: eigenteam/eigen-git-mirror
ref: 3.3.7
macos-options: -DPYTHON_BINDING:BOOL=OFF
windows-options: -DPYTHON_BINDING:BOOL=OFF
- name: Build and test
uses: jrl-umi3218/github-actions/build-cmake-project@master
with:
compiler: ${{ matrix.compiler }}
build-type: ${{ matrix.build-type }}
macos-options: -DPYTHON_BINDING:BOOL=OFF
windows-options: -DPYTHON_BINDING:BOOL=OFF
- name: Upload documentation
# Only run on master branch and for one configuration
if: matrix.os == 'ubuntu-20.04' && matrix.build-type == 'RelWithDebInfo' && matrix.compiler == 'gcc' && github.ref == 'refs/heads/master'
uses: jrl-umi3218/github-actions/upload-documentation@master
with:
GH_USER: gergondet
GH_PAGES_TOKEN: ${{ secrets.GH_PAGES_TOKEN }}
- name: Slack Notification
if: failure()
uses: archive/github-actions-slack@master
with:
slack-bot-user-oauth-access-token: ${{ secrets.SLACK_BOT_TOKEN }}
slack-channel: '#ci'
slack-text: >
[eigen-qld] Build *${{ matrix.os }}/${{ matrix.build-type }}* failed on ${{ github.ref }}