Skip to content

Commit b6a9819

Browse files
authored
build docs on CI (#127)
* build docs on ci * fix docs build * add numpy
1 parent 71edb0d commit b6a9819

File tree

9 files changed

+80
-26
lines changed

9 files changed

+80
-26
lines changed

.github/workflows/ci.yml

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,26 @@ jobs:
3030
with:
3131
extra_args: --all-files --verbose
3232

33+
docs-build:
34+
runs-on: ubuntu-latest
35+
steps:
36+
- uses: actions/checkout@v3
37+
38+
- uses: actions/setup-python@v4
39+
with:
40+
python-version: '3.10'
41+
42+
- run: pip install -r requirements/docs.txt -r requirements/pyproject.txt
43+
- run: pip install .
44+
45+
- run: make docs
46+
47+
- name: Store docs site
48+
uses: actions/upload-artifact@v3
49+
with:
50+
name: docs
51+
path: site
52+
3353
test:
3454
name: test py${{ matrix.python-version }} on ${{ matrix.os }}
3555
strategy:
@@ -85,7 +105,7 @@ jobs:
85105
# https://github.com/marketplace/actions/alls-green#why used for branch protection checks
86106
check:
87107
if: always()
88-
needs: [test, lint]
108+
needs: [test, lint, docs-build]
89109
runs-on: ubuntu-latest
90110
steps:
91111
- name: Decide whether the needed jobs succeeded or failed
@@ -107,6 +127,17 @@ jobs:
107127
with:
108128
python-version: '3.10'
109129

130+
- name: get docs
131+
uses: actions/download-artifact@v3
132+
with:
133+
name: docs
134+
path: site
135+
136+
- name: check GITHUB_REF matches package version
137+
uses: samuelcolvin/check-python-version@v3
138+
with:
139+
version_file_path: devtools/version.py
140+
110141
- name: install
111142
run: pip install build twine
112143

@@ -122,6 +153,10 @@ jobs:
122153
TWINE_PASSWORD: ${{ secrets.pypi_token }}
123154

124155
- name: publish docs
125-
run: make publish-docs
156+
if: '!fromJSON(steps.check-tag.outputs.IS_PRERELEASE)'
157+
uses: cloudflare/[email protected]
158+
with:
159+
apiToken: ${{ secrets.cloudflare_api_token }}
160+
command: pages publish --project-name=python-devtools --branch=main site
126161
env:
127-
NETLIFY: ${{ secrets.netlify_token }}
162+
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.cloudflare_account_id }}

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ clean:
6363

6464
.PHONY: docs
6565
docs:
66-
flake8 --max-line-length=80 docs/examples/
66+
ruff --line-length=80 docs/examples/
6767
mkdocs build
6868

6969
.PHONY: docs-serve

devtools/__init__.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
# flake8: noqa
2-
from .ansi import *
3-
from .debug import *
4-
from .prettier import *
5-
from .timer import *
1+
from .ansi import sformat, sprint
2+
from .debug import Debug, debug
3+
from .prettier import PrettyFormat, pformat, pprint
4+
from .timer import Timer
65
from .version import VERSION
76

87
__version__ = VERSION
8+
9+
__all__ = 'sformat', 'sprint', 'Debug', 'debug', 'PrettyFormat', 'pformat', 'pprint', 'Timer', 'VERSION'

docs/examples/ansi_colours.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from devtools import sprint, sformat
1+
from devtools import sformat, sprint
22

33
sprint('this is red', sprint.red)
44

docs/examples/complex.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
from devtools import debug
21
import numpy as np
32

3+
from devtools import debug
4+
45
foo = {
56
'foo': np.array(range(20)),
67
'bar': [{'a': i, 'b': {j for j in range(1 + i * 2)}} for i in range(3)],

docs/examples/other.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
# if used repeatedly a summary is available
2121
t3 = debug.timer()
2222
for i in [1e4, 1e6, 1e7]:
23-
with t3('sum {}'.format(i), verbose=False):
23+
with t3(f'sum {i}', verbose=False):
2424
sum(range(int(i)))
2525

2626
t3.summary(verbose=True)

docs/examples/prettier.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
from devtools import PrettyFormat, pprint, pformat
21
import numpy as np
32

3+
from devtools import PrettyFormat, pformat, pprint
4+
45
v = {
56
'foo': {'whatever': [3, 2, 1]},
67
'sentence': 'hello\nworld',

requirements/docs.in

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
ansi2html==1.8.0
2-
mkdocs==1.3.1
3-
mkdocs-exclude==1.0.2
4-
mkdocs-material==8.3.9
5-
mkdocs-simple-hooks==0.1.5
6-
markdown-include==0.7.0
1+
ansi2html
2+
mkdocs
3+
mkdocs-exclude
4+
mkdocs-material
5+
mkdocs-simple-hooks
6+
markdown-include
77
pygments
8+
ruff
9+
numpy

requirements/docs.txt

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,18 @@
66
#
77
ansi2html==1.8.0
88
# via -r requirements/docs.in
9+
certifi==2022.12.7
10+
# via requests
11+
charset-normalizer==3.1.0
12+
# via requests
913
click==8.1.3
1014
# via mkdocs
15+
colorama==0.4.6
16+
# via mkdocs-material
1117
ghp-import==2.1.0
1218
# via mkdocs
13-
importlib-metadata==6.1.0
14-
# via mkdocs
19+
idna==3.4
20+
# via requests
1521
jinja2==3.1.2
1622
# via
1723
# mkdocs
@@ -22,26 +28,28 @@ markdown==3.3.7
2228
# mkdocs
2329
# mkdocs-material
2430
# pymdown-extensions
25-
markdown-include==0.7.0
31+
markdown-include==0.8.1
2632
# via -r requirements/docs.in
2733
markupsafe==2.1.2
2834
# via jinja2
2935
mergedeep==1.3.4
3036
# via mkdocs
31-
mkdocs==1.3.1
37+
mkdocs==1.4.2
3238
# via
3339
# -r requirements/docs.in
3440
# mkdocs-exclude
3541
# mkdocs-material
3642
# mkdocs-simple-hooks
3743
mkdocs-exclude==1.0.2
3844
# via -r requirements/docs.in
39-
mkdocs-material==8.3.9
45+
mkdocs-material==9.1.5
4046
# via -r requirements/docs.in
4147
mkdocs-material-extensions==1.1.1
4248
# via mkdocs-material
4349
mkdocs-simple-hooks==0.1.5
4450
# via -r requirements/docs.in
51+
numpy==1.24.2
52+
# via -r requirements/docs.in
4553
packaging==23.0
4654
# via mkdocs
4755
pygments==2.14.0
@@ -59,9 +67,15 @@ pyyaml==6.0
5967
# pyyaml-env-tag
6068
pyyaml-env-tag==0.1
6169
# via mkdocs
70+
regex==2023.3.23
71+
# via mkdocs-material
72+
requests==2.28.2
73+
# via mkdocs-material
74+
ruff==0.0.261
75+
# via -r requirements/docs.in
6276
six==1.16.0
6377
# via python-dateutil
78+
urllib3==1.26.15
79+
# via requests
6480
watchdog==3.0.0
6581
# via mkdocs
66-
zipp==3.15.0
67-
# via importlib-metadata

0 commit comments

Comments
 (0)