This repository has been archived by the owner on Jul 20, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
145 lines (119 loc) · 3.62 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
name: docs
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
concurrency:
group: docs-${{ github.head_ref }}
cancel-in-progress: true
permissions:
contents: read
id-token: write
pull-requests: write
checks: write
jobs:
build:
strategy:
matrix:
python-version: [3.11]
node-version: [18]
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: arduino/setup-task@v1
# ------------------------------------------------------------------------
# JS
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Load cached node_modules
id: cached-node_modules
uses: actions/cache@v3
with:
path: js/node_modules
key: node_modules-${{ runner.os }}-node${{ matrix.node-version }}-${{ hashFiles('js/package*.json') }}
- name: Install JS deps
if: steps.cached-node_modules.outputs.cache-hit != 'true'
run: |
make npm-install
- name: Build JS
run: |
make npm-build
# ------------------------------------------------------------------------
# Python
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: 1.6.1
virtualenvs-create: true
virtualenvs-in-project: true
- name: Load cached venv
id: cached-python-env
uses: actions/cache@v3
with:
path: python/.venv
key: venv-docs-${{ runner.os }}-py${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}-1
- name: Ensure cache is healthy
id: cached-python-env-check
continue-on-error: true
if: steps.cached-python-env.outputs.cache-hit == 'true'
run: |
.venv/bin/activate/bin/python --version
# poetry run python --version
- name: Debug options
run: |
echo ${{ steps.cached-python-env.outputs.cache-hit }}
echo ${{ steps.cached-python-env-check.outcome }}
- name: Install Python dependencies
if: steps.cached-python-env.outputs.cache-hit != 'true' || steps.cached-python-env-check.outcome != 'success'
run: |
cd python
rm -rf .venv || true
poetry install --no-interaction --no-root --with docs
- name: Print Python info
run: |
source python/.venv/bin/activate
which python
python --version
which pip
pip --version
pip freeze
# ------------------------------------------------------------------------
# Docs
- name: Build Python Package
run: |
source python/.venv/bin/activate
make pkg
- name: Install package
run: |
source python/.venv/bin/activate
cd python
pip install dist/*.tar.gz
pip freeze
- name: Build docs
run: |
source python/.venv/bin/activate
make docs
- name: Cache website
id: cache-build
uses: actions/cache@v3
with:
path: dist
key: >
website
${{ github.run_id }}
${{ github.run_attempt }}
cf-pages:
uses: ./.github/workflows/docs-cf-pages.yml
needs: [build]
secrets: inherit
post-deploy:
uses: ./.github/workflows/docs-post.yml
needs: [cf-pages]
secrets: inherit