-
Notifications
You must be signed in to change notification settings - Fork 183
149 lines (125 loc) · 3.95 KB
/
docs.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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
name: Docs
concurrency:
group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }}
cancel-in-progress: true
on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]
permissions:
contents: write
pages: write
id-token: write
jobs:
build_docs:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ ubuntu-latest ]
python-version: [ "3.9" ]
steps:
- uses: actions/checkout@v4
- name: Create local data folder
run: |
mkdir ~/mne_data
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
- name: Create/Restore MNE Data Cache
id: cache-mne_data
uses: actions/cache@v3
with:
path: ~/mne_data
key: ${{ runner.os }}-mne_data
- name: Cache docs build
id: cache-docs
uses: actions/cache@v3
with:
key: docs-build-${{ github.run_id }}-${{ github.run_attempt }}
path: docs/build
- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: .venv
key:
docsvenv-${{ matrix.os }}-py${{matrix.python-version}}-${{
hashFiles('**/pyproject.toml') }}
- name: Install dependencies
if: (steps.cached-poetry-dependencies.outputs.cache-hit != 'true')
run: poetry install --no-interaction --no-root --with docs --extras deeplearning --extras optuna
- name: Install library
run: poetry install --no-interaction --with docs --extras deeplearning --extras optuna
- name: Build docs
run: |
cd docs && poetry run make html
# Create an artifact of the html output.
- uses: actions/upload-artifact@v4
with:
name: DocumentationHTML
path: docs/build/html/
deploy_neurotechx:
if: ${{ github.ref == 'refs/heads/develop' }}
needs: build_docs
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
steps:
- uses: actions/checkout@v4
- name: Restore cached docs build
id: cache-docs
uses: actions/cache/restore@v3
with:
key: docs-build-${{ github.run_id }}-${{ github.run_attempt }}
path: docs/build
- name: Check cache hit
if: steps.cache-docs.outputs.cache-hit != 'true'
run: exit 1
- name: Deploy Neurotechx Subpage
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
external_repository: NeuroTechX/moabb.github.io
destination_dir: docs/
publish_branch: master
publish_dir: ./docs/build/html
cname: moabb.neurotechx.com/
deploy_gh_pages:
if: ${{ github.ref == 'refs/heads/develop' }}
needs: build_docs
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
steps:
- uses: actions/checkout@v4
- name: Restore cached docs build
id: cache-docs
uses: actions/cache/restore@v3
with:
key: docs-build-${{ github.run_id }}-${{ github.run_attempt }}
path: docs/build
- name: Check cache hit
if: steps.cache-docs.outputs.cache-hit != 'true'
run: exit 1
- name: Deploy gh-pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
deploy_key: ${{ secrets.MOABB_DEPLOY_KEY_NEW }}
destination_dir: docs/
publish_branch: gh-pages
publish_dir: ./docs/build/html
cname: neurotechx.github.io/moabb/