-
Notifications
You must be signed in to change notification settings - Fork 26
130 lines (109 loc) · 3.2 KB
/
main.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
name: CI
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
branches:
- main
defaults:
run:
shell: bash -l {0}
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pre-commit/[email protected]
unix:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12]
steps:
- uses: actions/checkout@v3
- name: Install mamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-dev.yml
environment-name: xwidgets
- name: Cmake configure
shell: bash -l -eo pipefail {0}
run: >
cmake -B build -Werror=dev
${CMAKE_ARGS}
-D CMAKE_BUILD_TYPE=Release
-D XWIDGETS_BUILD_TESTS=ON
-D CMAKE_PREFIX_PATH="${CONDA_PREFIX}"
-D CMAKE_INSTALL_PREFIX="${CONDA_PREFIX}"
- name: Build
shell: bash -l -eo pipefail {0}
run: cmake --build build/ --parallel 2
- name: Test xwidgets
uses: nick-invision/retry@v2
with:
timeout_minutes: 4
max_attempts: 4
shell: bash
command: ctest --test-dir build/test --output-on-failure
- name: Install xwidgets
shell: bash -l -eo pipefail {0}
run: cmake --install build/
# - name: Test notebook
# if: ${{ startsWith(matrix.os, 'ubuntu') }}
# shell: bash -l -eo pipefail {0}
# run: >
# jupyter nbconvert
# --to notebook
# --output-dir "$(mktemp -d)/out.ipynb"
# --execute
# notebooks/xwidgets.ipynb
win:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-2019, windows-2022]
steps:
- uses: actions/checkout@v2
- name: install mamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-dev.yml
environment-name: xwidgets
- name: micromamba shell hook
shell: powershell
run: |
micromamba shell hook -s cmd.exe -p C:\Users\runneradmin\micromamba-root
- name: Make build directory
run: mkdir build
- name: Cmake configure
shell: cmd /C call {0}
run: |
call micromamba activate xwidgets
if %errorlevel% neq 0 exit /b %errorlevel%
cmake -B build -Werror=dev ^
-G Ninja ^
-D CMAKE_BUILD_TYPE=Release ^
-D XWIDGETS_BUILD_TESTS=ON ^
-D XWDIGETS_BUILD_TESTS=ON ^
-D CMAKE_PREFIX_PATH="%CONDA_PREFIX%\Library" ^
-D CMAKE_INSTALL_PREFIX="%CONDA_PREFIX%"
- name: Build
shell: cmd /C call {0}
run: |
set CL=/MP
if %errorlevel% neq 0 exit /b %errorlevel%
micromamba run -n xwidgets cmake --build build/ --parallel
- name: Test xwidgets
uses: nick-invision/retry@v2
with:
timeout_minutes: 4
max_attempts: 4
shell: cmd
command: |
call C:\Users\runneradmin\micromamba-root\condabin\micromamba.bat activate xwidgets
set PATH=%CONDA_PREFIX%;%CONDA_PREFIX%\\Scripts;%CONDA_PREFIX%\\Library;%CONDA_PREFIX%\\Library\\bin;%PATH%
ctest --test-dir build/test --output-on-failure